{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "**Chapter 14 – Recurrent Neural Networks**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "_This notebook contains all the sample code and solutions to the exercices in chapter 14._"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Setup"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "First, let's make sure this notebook works well in both python 2 and 3, import a few common modules, ensure MatplotLib plots figures inline and prepare a function to save the figures:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "# To support both python 2 and python 3\n",
    "from __future__ import division, print_function, unicode_literals\n",
    "\n",
    "# Common imports\n",
    "import numpy as np\n",
    "import numpy.random as rnd\n",
    "import os\n",
    "\n",
    "# to make this notebook's output stable across runs\n",
    "rnd.seed(42)\n",
    "\n",
    "# To plot pretty figures\n",
    "%matplotlib inline\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['axes.labelsize'] = 14\n",
    "plt.rcParams['xtick.labelsize'] = 12\n",
    "plt.rcParams['ytick.labelsize'] = 12\n",
    "\n",
    "# Where to save the figures\n",
    "PROJECT_ROOT_DIR = \".\"\n",
    "CHAPTER_ID = \"rnn\"\n",
    "\n",
    "def save_fig(fig_id, tight_layout=True):\n",
    "    path = os.path.join(PROJECT_ROOT_DIR, \"images\", CHAPTER_ID, fig_id + \".png\")\n",
    "    print(\"Saving figure\", fig_id)\n",
    "    if tight_layout:\n",
    "        plt.tight_layout()\n",
    "    plt.savefig(path, format='png', dpi=300)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Then of course we will need TensorFlow:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "import tensorflow as tf"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Basic RNNs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Manual RNN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_inputs = 3\n",
    "n_neurons = 5\n",
    "\n",
    "X0 = tf.placeholder(tf.float32, [None, n_inputs])\n",
    "X1 = tf.placeholder(tf.float32, [None, n_inputs])\n",
    "\n",
    "Wx = tf.Variable(tf.random_normal(shape=[n_inputs, n_neurons], dtype=tf.float32))\n",
    "Wy = tf.Variable(tf.random_normal(shape=[n_neurons, n_neurons], dtype=tf.float32))\n",
    "b = tf.Variable(tf.zeros([1, n_neurons], dtype=tf.float32))\n",
    "\n",
    "Y0 = tf.tanh(tf.matmul(X0, Wx) + b)\n",
    "Y1 = tf.tanh(tf.matmul(Y0, Wy) + tf.matmul(X1, Wx) + b)\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "X0_batch = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 0, 1]]) # t = 0\n",
    "X1_batch = np.array([[9, 8, 7], [0, 0, 0], [6, 5, 4], [3, 2, 1]]) # t = 1\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    Y0_val, Y1_val = sess.run([Y0, Y1], feed_dict={X0: X0_batch, X1: X1_batch})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.90123773  0.98922348 -0.6269781  -0.95980716  0.96048075]\n",
      " [ 0.98510647  1.         -1.         -1.          0.99918383]\n",
      " [ 0.9978351   1.         -1.         -1.          0.99998367]\n",
      " [-0.99988794  0.74807853 -1.         -1.         -0.45669135]]\n"
     ]
    }
   ],
   "source": [
    "print(Y0_val)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.526667    1.         -1.         -1.          0.99992526]\n",
      " [-0.75961953 -0.91298747 -0.88291478  0.63755071  0.93126822]\n",
      " [-0.49365351  0.99999994 -1.         -1.          0.99859256]\n",
      " [-0.78534681  0.97880101 -1.         -0.99780411  0.76606095]]\n"
     ]
    }
   ],
   "source": [
    "print(Y1_val)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Using `rnn()`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_inputs = 3\n",
    "n_neurons = 5\n",
    "\n",
    "X0 = tf.placeholder(tf.float32, [None, n_inputs])\n",
    "X1 = tf.placeholder(tf.float32, [None, n_inputs])\n",
    "\n",
    "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n",
    "output_seqs, states = tf.contrib.rnn.static_rnn(basic_cell, [X0, X1], dtype=tf.float32)\n",
    "Y0, Y1 = output_seqs\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "X0_batch = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 0, 1]])\n",
    "X1_batch = np.array([[9, 8, 7], [0, 0, 0], [6, 5, 4], [3, 2, 1]])\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    Y0_val, Y1_val = sess.run([Y0, Y1], feed_dict={X0: X0_batch, X1: X1_batch})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.28662205,  0.30925247, -0.1196948 , -0.75895321, -0.75996983],\n",
       "       [ 0.92597973, -0.33076611, -0.96472853, -0.98375559, -0.98610842],\n",
       "       [ 0.99468613, -0.76455796, -0.99918038, -0.99902183, -0.99928272],\n",
       "       [ 0.95082718, -0.96377665, -0.99991548, -0.84052283, -0.75621897]], dtype=float32)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Y0_val"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.99884236, -0.98738086, -0.9999764 , -0.99626565, -0.99299222],\n",
       "       [-0.50243556, -0.54109138, -0.51660717, -0.21931489,  0.73975986],\n",
       "       [ 0.9268406 , -0.97699696, -0.99956453, -0.95843869, -0.75154305],\n",
       "       [ 0.23540512, -0.91165251, -0.97869498, -0.45751983,  0.32356998]], dtype=float32)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Y1_val"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "from IPython.display import clear_output, Image, display, HTML\n",
    "\n",
    "def strip_consts(graph_def, max_const_size=32):\n",
    "    \"\"\"Strip large constant values from graph_def.\"\"\"\n",
    "    strip_def = tf.GraphDef()\n",
    "    for n0 in graph_def.node:\n",
    "        n = strip_def.node.add() \n",
    "        n.MergeFrom(n0)\n",
    "        if n.op == 'Const':\n",
    "            tensor = n.attr['value'].tensor\n",
    "            size = len(tensor.tensor_content)\n",
    "            if size > max_const_size:\n",
    "                tensor.tensor_content = \"b<stripped %d bytes>\"%size\n",
    "    return strip_def\n",
    "\n",
    "def show_graph(graph_def, max_const_size=32):\n",
    "    \"\"\"Visualize TensorFlow graph.\"\"\"\n",
    "    if hasattr(graph_def, 'as_graph_def'):\n",
    "        graph_def = graph_def.as_graph_def()\n",
    "    strip_def = strip_consts(graph_def, max_const_size=max_const_size)\n",
    "    code = \"\"\"\n",
    "        <script>\n",
    "          function load() {{\n",
    "            document.getElementById(\"{id}\").pbtxt = {data};\n",
    "          }}\n",
    "        </script>\n",
    "        <link rel=\"import\" href=\"https://tensorboard.appspot.com/tf-graph-basic.build.html\" onload=load()>\n",
    "        <div style=\"height:600px\">\n",
    "          <tf-graph-basic id=\"{id}\"></tf-graph-basic>\n",
    "        </div>\n",
    "    \"\"\".format(data=repr(str(strip_def)), id='graph'+str(np.random.rand()))\n",
    "\n",
    "    iframe = \"\"\"\n",
    "        <iframe seamless style=\"width:1200px;height:620px;border:0\" srcdoc=\"{}\"></iframe>\n",
    "    \"\"\".format(code.replace('\"', '&quot;'))\n",
    "    display(HTML(iframe))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "        <iframe seamless style=\"width:1200px;height:620px;border:0\" srcdoc=\"\n",
       "        <script>\n",
       "          function load() {\n",
       "            document.getElementById(&quot;graph0.3745401188473625&quot;).pbtxt = 'node {\\n  name: &quot;Placeholder&quot;\\n  op: &quot;Placeholder&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;shape&quot;\\n    value {\\n      shape {\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;Placeholder_1&quot;\\n  op: &quot;Placeholder&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;shape&quot;\\n    value {\\n      shape {\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/Shape&quot;\\n  op: &quot;Shape&quot;\\n  input: &quot;Placeholder&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;out_type&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice/stack&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice/stack_1&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice/stack_2&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice&quot;\\n  op: &quot;StridedSlice&quot;\\n  input: &quot;rnn/Shape&quot;\\n  input: &quot;rnn/strided_slice/stack&quot;\\n  input: &quot;rnn/strided_slice/stack_1&quot;\\n  input: &quot;rnn/strided_slice/stack_2&quot;\\n  attr {\\n    key: &quot;Index&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;begin_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;ellipsis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;end_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;new_axis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;shrink_axis_mask&quot;\\n    value {\\n      i: 1\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/stack/1&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 5\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/stack&quot;\\n  op: &quot;Pack&quot;\\n  input: &quot;rnn/strided_slice&quot;\\n  input: &quot;rnn/stack/1&quot;\\n  attr {\\n    key: &quot;N&quot;\\n    value {\\n      i: 2\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;axis&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/zeros/Const&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_FLOAT\\n        tensor_shape {\\n        }\\n        float_val: 0.0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/zeros&quot;\\n  op: &quot;Fill&quot;\\n  input: &quot;rnn/stack&quot;\\n  input: &quot;rnn/zeros/Const&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/shape&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 2\\n          }\\n        }\\n        tensor_content: &quot;\\\\010\\\\000\\\\000\\\\000\\\\005\\\\000\\\\000\\\\000&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/min&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_FLOAT\\n        tensor_shape {\\n        }\\n        float_val: -0.6793662309646606\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/max&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_FLOAT\\n        tensor_shape {\\n        }\\n        float_val: 0.6793662309646606\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/RandomUniform&quot;\\n  op: &quot;RandomUniform&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/shape&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;seed&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;seed2&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/sub&quot;\\n  op: &quot;Sub&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/max&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/min&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/mul&quot;\\n  op: &quot;Mul&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/RandomUniform&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/sub&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform&quot;\\n  op: &quot;Add&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/mul&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/min&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights&quot;\\n  op: &quot;VariableV2&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;container&quot;\\n    value {\\n      s: &quot;&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;shape&quot;\\n    value {\\n      shape {\\n        dim {\\n          size: 8\\n        }\\n        dim {\\n          size: 5\\n        }\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;shared_name&quot;\\n    value {\\n      s: &quot;&quot;\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Assign&quot;\\n  op: &quot;Assign&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;use_locking&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;validate_shape&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/read&quot;\\n  op: &quot;Identity&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/basic_rnn_cell/concat/axis&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/basic_rnn_cell/concat&quot;\\n  op: &quot;ConcatV2&quot;\\n  input: &quot;Placeholder&quot;\\n  input: &quot;rnn/zeros&quot;\\n  input: &quot;rnn/basic_rnn_cell/basic_rnn_cell/concat/axis&quot;\\n  attr {\\n    key: &quot;N&quot;\\n    value {\\n      i: 2\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;Tidx&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/basic_rnn_cell/MatMul&quot;\\n  op: &quot;MatMul&quot;\\n  input: &quot;rnn/basic_rnn_cell/basic_rnn_cell/concat&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/read&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;transpose_a&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n  attr {\\n    key: &quot;transpose_b&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/biases/Initializer/Const&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/biases&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_FLOAT\\n        tensor_shape {\\n          dim {\\n            size: 5\\n          }\\n        }\\n        float_val: 0.0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/biases&quot;\\n  op: &quot;VariableV2&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/biases&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;container&quot;\\n    value {\\n      s: &quot;&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;shape&quot;\\n    value {\\n      shape {\\n        dim {\\n          size: 5\\n        }\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;shared_name&quot;\\n    value {\\n      s: &quot;&quot;\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/biases/Assign&quot;\\n  op: &quot;Assign&quot;\\n  input: &quot;rnn/basic_rnn_cell/biases&quot;\\n  input: &quot;rnn/basic_rnn_cell/biases/Initializer/Const&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/biases&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;use_locking&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;validate_shape&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/biases/read&quot;\\n  op: &quot;Identity&quot;\\n  input: &quot;rnn/basic_rnn_cell/biases&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/BiasAdd&quot;\\n  op: &quot;BiasAdd&quot;\\n  input: &quot;rnn/basic_rnn_cell/basic_rnn_cell/MatMul&quot;\\n  input: &quot;rnn/basic_rnn_cell/biases/read&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;data_format&quot;\\n    value {\\n      s: &quot;NHWC&quot;\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/Tanh&quot;\\n  op: &quot;Tanh&quot;\\n  input: &quot;rnn/basic_rnn_cell/BiasAdd&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell_1/basic_rnn_cell/concat/axis&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell_1/basic_rnn_cell/concat&quot;\\n  op: &quot;ConcatV2&quot;\\n  input: &quot;Placeholder_1&quot;\\n  input: &quot;rnn/basic_rnn_cell/Tanh&quot;\\n  input: &quot;rnn/basic_rnn_cell_1/basic_rnn_cell/concat/axis&quot;\\n  attr {\\n    key: &quot;N&quot;\\n    value {\\n      i: 2\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;Tidx&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell_1/basic_rnn_cell/MatMul&quot;\\n  op: &quot;MatMul&quot;\\n  input: &quot;rnn/basic_rnn_cell_1/basic_rnn_cell/concat&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/read&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;transpose_a&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n  attr {\\n    key: &quot;transpose_b&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell_1/BiasAdd&quot;\\n  op: &quot;BiasAdd&quot;\\n  input: &quot;rnn/basic_rnn_cell_1/basic_rnn_cell/MatMul&quot;\\n  input: &quot;rnn/basic_rnn_cell/biases/read&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;data_format&quot;\\n    value {\\n      s: &quot;NHWC&quot;\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell_1/Tanh&quot;\\n  op: &quot;Tanh&quot;\\n  input: &quot;rnn/basic_rnn_cell_1/BiasAdd&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;init&quot;\\n  op: &quot;NoOp&quot;\\n  input: &quot;^rnn/basic_rnn_cell/weights/Assign&quot;\\n  input: &quot;^rnn/basic_rnn_cell/biases/Assign&quot;\\n}\\n';\n",
       "          }\n",
       "        </script>\n",
       "        <link rel=&quot;import&quot; href=&quot;https://tensorboard.appspot.com/tf-graph-basic.build.html&quot; onload=load()>\n",
       "        <div style=&quot;height:600px&quot;>\n",
       "          <tf-graph-basic id=&quot;graph0.3745401188473625&quot;></tf-graph-basic>\n",
       "        </div>\n",
       "    \"></iframe>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "show_graph(tf.get_default_graph())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Packing sequences"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_steps = 2\n",
    "n_inputs = 3\n",
    "n_neurons = 5\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "X_seqs = tf.unstack(tf.transpose(X, perm=[1, 0, 2]))\n",
    "\n",
    "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n",
    "output_seqs, states = tf.contrib.rnn.static_rnn(basic_cell, X_seqs, dtype=tf.float32)\n",
    "outputs = tf.transpose(tf.stack(output_seqs), perm=[1, 0, 2])\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "X_batch = np.array([\n",
    "        # t = 0      t = 1 \n",
    "        [[0, 1, 2], [9, 8, 7]], # instance 1\n",
    "        [[3, 4, 5], [0, 0, 0]], # instance 2\n",
    "        [[6, 7, 8], [6, 5, 4]], # instance 3\n",
    "        [[9, 0, 1], [3, 2, 1]], # instance 4\n",
    "    ])\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    outputs_val = outputs.eval(feed_dict={X: X_batch})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[-0.99997586 -0.9984535  -0.97207373  1.         -0.98778659]\n",
      " [ 0.6685614   0.30946875  0.28615698 -0.26904964  0.17949906]\n",
      " [-0.98333597 -0.9671362  -0.95749182  0.99999988 -0.93386269]\n",
      " [ 0.04539975 -0.66158098 -0.924348    0.9970457  -0.72605741]]\n"
     ]
    }
   ],
   "source": [
    "print(np.transpose(outputs_val, axes=[1, 0, 2])[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Using `dynamic_rnn()`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_steps = 2\n",
    "n_inputs = 3\n",
    "n_neurons = 5\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "\n",
    "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n",
    "outputs, states = tf.nn.dynamic_rnn(basic_cell, X, dtype=tf.float32)\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "outputs = [[[ 0.91089129 -0.94467813 -0.78610015 -0.2072562   0.87156135]\n",
      "  [ 0.9999826  -1.         -0.98544002 -0.24509563  0.99999911]]\n",
      "\n",
      " [[ 0.99924409 -0.99998862 -0.95882088 -0.38083813  0.99967498]\n",
      "  [ 0.10089301  0.05244089 -0.79083717  0.1913105  -0.43539378]]\n",
      "\n",
      " [[ 0.99999392 -1.         -0.99264669 -0.5311721   0.9999994 ]\n",
      "  [ 0.99748254 -0.99999666 -0.95003164  0.09894454  0.99949437]]\n",
      "\n",
      " [[-0.92399746 -0.99193859  0.98692715 -0.70353955  0.64058793]\n",
      "  [-0.06186941 -0.91329038 -0.75373876  0.22729108  0.61128241]]]\n"
     ]
    }
   ],
   "source": [
    "X_batch = np.array([\n",
    "        [[0, 1, 2], [9, 8, 7]], # instance 1\n",
    "        [[3, 4, 5], [0, 0, 0]], # instance 2\n",
    "        [[6, 7, 8], [6, 5, 4]], # instance 3\n",
    "        [[9, 0, 1], [3, 2, 1]], # instance 4\n",
    "    ])\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    print(\"outputs =\", outputs.eval(feed_dict={X: X_batch}))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "        <iframe seamless style=\"width:1200px;height:620px;border:0\" srcdoc=\"\n",
       "        <script>\n",
       "          function load() {\n",
       "            document.getElementById(&quot;graph0.9507143064099162&quot;).pbtxt = 'node {\\n  name: &quot;Placeholder&quot;\\n  op: &quot;Placeholder&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;shape&quot;\\n    value {\\n      shape {\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;transpose/perm&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 3\\n          }\\n        }\\n        tensor_content: &quot;\\\\001\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\002\\\\000\\\\000\\\\000&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;transpose&quot;\\n  op: &quot;Transpose&quot;\\n  input: &quot;Placeholder&quot;\\n  input: &quot;transpose/perm&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;Tperm&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/Shape&quot;\\n  op: &quot;Shape&quot;\\n  input: &quot;transpose&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;out_type&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice/stack&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice/stack_1&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 2\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice/stack_2&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice&quot;\\n  op: &quot;StridedSlice&quot;\\n  input: &quot;rnn/Shape&quot;\\n  input: &quot;rnn/strided_slice/stack&quot;\\n  input: &quot;rnn/strided_slice/stack_1&quot;\\n  input: &quot;rnn/strided_slice/stack_2&quot;\\n  attr {\\n    key: &quot;Index&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;begin_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;ellipsis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;end_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;new_axis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;shrink_axis_mask&quot;\\n    value {\\n      i: 1\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_1/stack&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_1/stack_1&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 2\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_1/stack_2&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_1&quot;\\n  op: &quot;StridedSlice&quot;\\n  input: &quot;rnn/Shape&quot;\\n  input: &quot;rnn/strided_slice_1/stack&quot;\\n  input: &quot;rnn/strided_slice_1/stack_1&quot;\\n  input: &quot;rnn/strided_slice_1/stack_2&quot;\\n  attr {\\n    key: &quot;Index&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;begin_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;ellipsis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;end_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;new_axis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;shrink_axis_mask&quot;\\n    value {\\n      i: 1\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/stack/1&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 5\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/stack&quot;\\n  op: &quot;Pack&quot;\\n  input: &quot;rnn/strided_slice&quot;\\n  input: &quot;rnn/stack/1&quot;\\n  attr {\\n    key: &quot;N&quot;\\n    value {\\n      i: 2\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;axis&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/zeros/Const&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_FLOAT\\n        tensor_shape {\\n        }\\n        float_val: 0.0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/zeros&quot;\\n  op: &quot;Fill&quot;\\n  input: &quot;rnn/stack&quot;\\n  input: &quot;rnn/zeros/Const&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/Shape_1&quot;\\n  op: &quot;Shape&quot;\\n  input: &quot;transpose&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;out_type&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_2/stack&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_2/stack_1&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_2/stack_2&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_2&quot;\\n  op: &quot;StridedSlice&quot;\\n  input: &quot;rnn/Shape_1&quot;\\n  input: &quot;rnn/strided_slice_2/stack&quot;\\n  input: &quot;rnn/strided_slice_2/stack_1&quot;\\n  input: &quot;rnn/strided_slice_2/stack_2&quot;\\n  attr {\\n    key: &quot;Index&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;begin_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;ellipsis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;end_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;new_axis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;shrink_axis_mask&quot;\\n    value {\\n      i: 1\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_3/stack&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_3/stack_1&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 2\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_3/stack_2&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/strided_slice_3&quot;\\n  op: &quot;StridedSlice&quot;\\n  input: &quot;rnn/Shape_1&quot;\\n  input: &quot;rnn/strided_slice_3/stack&quot;\\n  input: &quot;rnn/strided_slice_3/stack_1&quot;\\n  input: &quot;rnn/strided_slice_3/stack_2&quot;\\n  attr {\\n    key: &quot;Index&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;begin_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;ellipsis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;end_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;new_axis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;shrink_axis_mask&quot;\\n    value {\\n      i: 1\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/stack_1/1&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 5\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/stack_1&quot;\\n  op: &quot;Pack&quot;\\n  input: &quot;rnn/strided_slice_3&quot;\\n  input: &quot;rnn/stack_1/1&quot;\\n  attr {\\n    key: &quot;N&quot;\\n    value {\\n      i: 2\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;axis&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/zeros_1/Const&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_FLOAT\\n        tensor_shape {\\n        }\\n        float_val: 0.0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/zeros_1&quot;\\n  op: &quot;Fill&quot;\\n  input: &quot;rnn/stack_1&quot;\\n  input: &quot;rnn/zeros_1/Const&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/time&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArray&quot;\\n  op: &quot;TensorArrayV3&quot;\\n  input: &quot;rnn/strided_slice_2&quot;\\n  attr {\\n    key: &quot;clear_after_read&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;dynamic_size&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n  attr {\\n    key: &quot;element_shape&quot;\\n    value {\\n      shape {\\n        unknown_rank: true\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;tensor_array_name&quot;\\n    value {\\n      s: &quot;rnn/dynamic_rnn/output_0&quot;\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArray_1&quot;\\n  op: &quot;TensorArrayV3&quot;\\n  input: &quot;rnn/strided_slice_2&quot;\\n  attr {\\n    key: &quot;clear_after_read&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;dynamic_size&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n  attr {\\n    key: &quot;element_shape&quot;\\n    value {\\n      shape {\\n        unknown_rank: true\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;tensor_array_name&quot;\\n    value {\\n      s: &quot;rnn/dynamic_rnn/input_0&quot;\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayUnstack/Shape&quot;\\n  op: &quot;Shape&quot;\\n  input: &quot;transpose&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;out_type&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayUnstack/strided_slice/stack&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayUnstack/strided_slice/stack_1&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayUnstack/strided_slice/stack_2&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 1\\n          }\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayUnstack/strided_slice&quot;\\n  op: &quot;StridedSlice&quot;\\n  input: &quot;rnn/TensorArrayUnstack/Shape&quot;\\n  input: &quot;rnn/TensorArrayUnstack/strided_slice/stack&quot;\\n  input: &quot;rnn/TensorArrayUnstack/strided_slice/stack_1&quot;\\n  input: &quot;rnn/TensorArrayUnstack/strided_slice/stack_2&quot;\\n  attr {\\n    key: &quot;Index&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;begin_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;ellipsis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;end_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;new_axis_mask&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;shrink_axis_mask&quot;\\n    value {\\n      i: 1\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayUnstack/range/start&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayUnstack/range/delta&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayUnstack/range&quot;\\n  op: &quot;Range&quot;\\n  input: &quot;rnn/TensorArrayUnstack/range/start&quot;\\n  input: &quot;rnn/TensorArrayUnstack/strided_slice&quot;\\n  input: &quot;rnn/TensorArrayUnstack/range/delta&quot;\\n  attr {\\n    key: &quot;Tidx&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3&quot;\\n  op: &quot;TensorArrayScatterV3&quot;\\n  input: &quot;rnn/TensorArray_1&quot;\\n  input: &quot;rnn/TensorArrayUnstack/range&quot;\\n  input: &quot;transpose&quot;\\n  input: &quot;rnn/TensorArray_1:1&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray_1&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Enter&quot;\\n  op: &quot;Enter&quot;\\n  input: &quot;rnn/time&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;frame_name&quot;\\n    value {\\n      s: &quot;rnn/while/rnn/while/&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;is_constant&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n  attr {\\n    key: &quot;parallel_iterations&quot;\\n    value {\\n      i: 32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Enter_1&quot;\\n  op: &quot;Enter&quot;\\n  input: &quot;rnn/TensorArray:1&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;frame_name&quot;\\n    value {\\n      s: &quot;rnn/while/rnn/while/&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;is_constant&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n  attr {\\n    key: &quot;parallel_iterations&quot;\\n    value {\\n      i: 32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Enter_2&quot;\\n  op: &quot;Enter&quot;\\n  input: &quot;rnn/zeros&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;frame_name&quot;\\n    value {\\n      s: &quot;rnn/while/rnn/while/&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;is_constant&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n  attr {\\n    key: &quot;parallel_iterations&quot;\\n    value {\\n      i: 32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Merge&quot;\\n  op: &quot;Merge&quot;\\n  input: &quot;rnn/while/Enter&quot;\\n  input: &quot;rnn/while/NextIteration&quot;\\n  attr {\\n    key: &quot;N&quot;\\n    value {\\n      i: 2\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Merge_1&quot;\\n  op: &quot;Merge&quot;\\n  input: &quot;rnn/while/Enter_1&quot;\\n  input: &quot;rnn/while/NextIteration_1&quot;\\n  attr {\\n    key: &quot;N&quot;\\n    value {\\n      i: 2\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Merge_2&quot;\\n  op: &quot;Merge&quot;\\n  input: &quot;rnn/while/Enter_2&quot;\\n  input: &quot;rnn/while/NextIteration_2&quot;\\n  attr {\\n    key: &quot;N&quot;\\n    value {\\n      i: 2\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Less/Enter&quot;\\n  op: &quot;Enter&quot;\\n  input: &quot;rnn/strided_slice_2&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;frame_name&quot;\\n    value {\\n      s: &quot;rnn/while/rnn/while/&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;is_constant&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;parallel_iterations&quot;\\n    value {\\n      i: 32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Less&quot;\\n  op: &quot;Less&quot;\\n  input: &quot;rnn/while/Merge&quot;\\n  input: &quot;rnn/while/Less/Enter&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/LoopCond&quot;\\n  op: &quot;LoopCond&quot;\\n  input: &quot;rnn/while/Less&quot;\\n}\\nnode {\\n  name: &quot;rnn/while/Switch&quot;\\n  op: &quot;Switch&quot;\\n  input: &quot;rnn/while/Merge&quot;\\n  input: &quot;rnn/while/LoopCond&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/while/Merge&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Switch_1&quot;\\n  op: &quot;Switch&quot;\\n  input: &quot;rnn/while/Merge_1&quot;\\n  input: &quot;rnn/while/LoopCond&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/while/Merge_1&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Switch_2&quot;\\n  op: &quot;Switch&quot;\\n  input: &quot;rnn/while/Merge_2&quot;\\n  input: &quot;rnn/while/LoopCond&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/while/Merge_2&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Identity&quot;\\n  op: &quot;Identity&quot;\\n  input: &quot;rnn/while/Switch:1&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Identity_1&quot;\\n  op: &quot;Identity&quot;\\n  input: &quot;rnn/while/Switch_1:1&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Identity_2&quot;\\n  op: &quot;Identity&quot;\\n  input: &quot;rnn/while/Switch_2:1&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/TensorArrayReadV3/Enter&quot;\\n  op: &quot;Enter&quot;\\n  input: &quot;rnn/TensorArray_1&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_RESOURCE\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray_1&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;frame_name&quot;\\n    value {\\n      s: &quot;rnn/while/rnn/while/&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;is_constant&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;parallel_iterations&quot;\\n    value {\\n      i: 32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/TensorArrayReadV3/Enter_1&quot;\\n  op: &quot;Enter&quot;\\n  input: &quot;rnn/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray_1&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;frame_name&quot;\\n    value {\\n      s: &quot;rnn/while/rnn/while/&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;is_constant&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;parallel_iterations&quot;\\n    value {\\n      i: 32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/TensorArrayReadV3&quot;\\n  op: &quot;TensorArrayReadV3&quot;\\n  input: &quot;rnn/while/TensorArrayReadV3/Enter&quot;\\n  input: &quot;rnn/while/Identity&quot;\\n  input: &quot;rnn/while/TensorArrayReadV3/Enter_1&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray_1&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/shape&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 2\\n          }\\n        }\\n        tensor_content: &quot;\\\\010\\\\000\\\\000\\\\000\\\\005\\\\000\\\\000\\\\000&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/min&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_FLOAT\\n        tensor_shape {\\n        }\\n        float_val: -0.6793662309646606\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/max&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_FLOAT\\n        tensor_shape {\\n        }\\n        float_val: 0.6793662309646606\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/RandomUniform&quot;\\n  op: &quot;RandomUniform&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/shape&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;seed&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n  attr {\\n    key: &quot;seed2&quot;\\n    value {\\n      i: 0\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/sub&quot;\\n  op: &quot;Sub&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/max&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/min&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/mul&quot;\\n  op: &quot;Mul&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/RandomUniform&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/sub&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform&quot;\\n  op: &quot;Add&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/mul&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform/min&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights&quot;\\n  op: &quot;VariableV2&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;container&quot;\\n    value {\\n      s: &quot;&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;shape&quot;\\n    value {\\n      shape {\\n        dim {\\n          size: 8\\n        }\\n        dim {\\n          size: 5\\n        }\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;shared_name&quot;\\n    value {\\n      s: &quot;&quot;\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/Assign&quot;\\n  op: &quot;Assign&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/Initializer/random_uniform&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/weights&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;use_locking&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;validate_shape&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/weights/read&quot;\\n  op: &quot;Identity&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/basic_rnn_cell/basic_rnn_cell/concat/axis&quot;\\n  op: &quot;Const&quot;\\n  input: &quot;^rnn/while/Identity&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/basic_rnn_cell/basic_rnn_cell/concat&quot;\\n  op: &quot;ConcatV2&quot;\\n  input: &quot;rnn/while/TensorArrayReadV3&quot;\\n  input: &quot;rnn/while/Identity_2&quot;\\n  input: &quot;rnn/while/basic_rnn_cell/basic_rnn_cell/concat/axis&quot;\\n  attr {\\n    key: &quot;N&quot;\\n    value {\\n      i: 2\\n    }\\n  }\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;Tidx&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/basic_rnn_cell/basic_rnn_cell/MatMul/Enter&quot;\\n  op: &quot;Enter&quot;\\n  input: &quot;rnn/basic_rnn_cell/weights/read&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;frame_name&quot;\\n    value {\\n      s: &quot;rnn/while/rnn/while/&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;is_constant&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;parallel_iterations&quot;\\n    value {\\n      i: 32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/basic_rnn_cell/basic_rnn_cell/MatMul&quot;\\n  op: &quot;MatMul&quot;\\n  input: &quot;rnn/while/basic_rnn_cell/basic_rnn_cell/concat&quot;\\n  input: &quot;rnn/while/basic_rnn_cell/basic_rnn_cell/MatMul/Enter&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;transpose_a&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n  attr {\\n    key: &quot;transpose_b&quot;\\n    value {\\n      b: false\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/biases/Initializer/Const&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/biases&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_FLOAT\\n        tensor_shape {\\n          dim {\\n            size: 5\\n          }\\n        }\\n        float_val: 0.0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/biases&quot;\\n  op: &quot;VariableV2&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/biases&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;container&quot;\\n    value {\\n      s: &quot;&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;shape&quot;\\n    value {\\n      shape {\\n        dim {\\n          size: 5\\n        }\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;shared_name&quot;\\n    value {\\n      s: &quot;&quot;\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/biases/Assign&quot;\\n  op: &quot;Assign&quot;\\n  input: &quot;rnn/basic_rnn_cell/biases&quot;\\n  input: &quot;rnn/basic_rnn_cell/biases/Initializer/Const&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/basic_rnn_cell/biases&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;use_locking&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;validate_shape&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/basic_rnn_cell/biases/read&quot;\\n  op: &quot;Identity&quot;\\n  input: &quot;rnn/basic_rnn_cell/biases&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/basic_rnn_cell/BiasAdd/Enter&quot;\\n  op: &quot;Enter&quot;\\n  input: &quot;rnn/basic_rnn_cell/biases/read&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;frame_name&quot;\\n    value {\\n      s: &quot;rnn/while/rnn/while/&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;is_constant&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;parallel_iterations&quot;\\n    value {\\n      i: 32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/basic_rnn_cell/BiasAdd&quot;\\n  op: &quot;BiasAdd&quot;\\n  input: &quot;rnn/while/basic_rnn_cell/basic_rnn_cell/MatMul&quot;\\n  input: &quot;rnn/while/basic_rnn_cell/BiasAdd/Enter&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;data_format&quot;\\n    value {\\n      s: &quot;NHWC&quot;\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/basic_rnn_cell/Tanh&quot;\\n  op: &quot;Tanh&quot;\\n  input: &quot;rnn/while/basic_rnn_cell/BiasAdd&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/TensorArrayWrite/TensorArrayWriteV3/Enter&quot;\\n  op: &quot;Enter&quot;\\n  input: &quot;rnn/TensorArray&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_RESOURCE\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;frame_name&quot;\\n    value {\\n      s: &quot;rnn/while/rnn/while/&quot;\\n    }\\n  }\\n  attr {\\n    key: &quot;is_constant&quot;\\n    value {\\n      b: true\\n    }\\n  }\\n  attr {\\n    key: &quot;parallel_iterations&quot;\\n    value {\\n      i: 32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/TensorArrayWrite/TensorArrayWriteV3&quot;\\n  op: &quot;TensorArrayWriteV3&quot;\\n  input: &quot;rnn/while/TensorArrayWrite/TensorArrayWriteV3/Enter&quot;\\n  input: &quot;rnn/while/Identity&quot;\\n  input: &quot;rnn/while/basic_rnn_cell/Tanh&quot;\\n  input: &quot;rnn/while/Identity_1&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/add/y&quot;\\n  op: &quot;Const&quot;\\n  input: &quot;^rnn/while/Identity&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/add&quot;\\n  op: &quot;Add&quot;\\n  input: &quot;rnn/while/Identity&quot;\\n  input: &quot;rnn/while/add/y&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/NextIteration&quot;\\n  op: &quot;NextIteration&quot;\\n  input: &quot;rnn/while/add&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/NextIteration_1&quot;\\n  op: &quot;NextIteration&quot;\\n  input: &quot;rnn/while/TensorArrayWrite/TensorArrayWriteV3&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/NextIteration_2&quot;\\n  op: &quot;NextIteration&quot;\\n  input: &quot;rnn/while/basic_rnn_cell/Tanh&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Exit&quot;\\n  op: &quot;Exit&quot;\\n  input: &quot;rnn/while/Switch&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Exit_1&quot;\\n  op: &quot;Exit&quot;\\n  input: &quot;rnn/while/Switch_1&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/while/Exit_2&quot;\\n  op: &quot;Exit&quot;\\n  input: &quot;rnn/while/Switch_2&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayStack/TensorArraySizeV3&quot;\\n  op: &quot;TensorArraySizeV3&quot;\\n  input: &quot;rnn/TensorArray&quot;\\n  input: &quot;rnn/while/Exit_1&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayStack/range/start&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 0\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayStack/range/delta&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n        }\\n        int_val: 1\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayStack/range&quot;\\n  op: &quot;Range&quot;\\n  input: &quot;rnn/TensorArrayStack/range/start&quot;\\n  input: &quot;rnn/TensorArrayStack/TensorArraySizeV3&quot;\\n  input: &quot;rnn/TensorArrayStack/range/delta&quot;\\n  attr {\\n    key: &quot;Tidx&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/TensorArrayStack/TensorArrayGatherV3&quot;\\n  op: &quot;TensorArrayGatherV3&quot;\\n  input: &quot;rnn/TensorArray&quot;\\n  input: &quot;rnn/TensorArrayStack/range&quot;\\n  input: &quot;rnn/while/Exit_1&quot;\\n  attr {\\n    key: &quot;_class&quot;\\n    value {\\n      list {\\n        s: &quot;loc:@rnn/TensorArray&quot;\\n      }\\n    }\\n  }\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;element_shape&quot;\\n    value {\\n      shape {\\n        dim {\\n          size: -1\\n        }\\n        dim {\\n          size: 5\\n        }\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/transpose/perm&quot;\\n  op: &quot;Const&quot;\\n  attr {\\n    key: &quot;dtype&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n  attr {\\n    key: &quot;value&quot;\\n    value {\\n      tensor {\\n        dtype: DT_INT32\\n        tensor_shape {\\n          dim {\\n            size: 3\\n          }\\n        }\\n        tensor_content: &quot;\\\\001\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\002\\\\000\\\\000\\\\000&quot;\\n      }\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;rnn/transpose&quot;\\n  op: &quot;Transpose&quot;\\n  input: &quot;rnn/TensorArrayStack/TensorArrayGatherV3&quot;\\n  input: &quot;rnn/transpose/perm&quot;\\n  attr {\\n    key: &quot;T&quot;\\n    value {\\n      type: DT_FLOAT\\n    }\\n  }\\n  attr {\\n    key: &quot;Tperm&quot;\\n    value {\\n      type: DT_INT32\\n    }\\n  }\\n}\\nnode {\\n  name: &quot;init&quot;\\n  op: &quot;NoOp&quot;\\n  input: &quot;^rnn/basic_rnn_cell/weights/Assign&quot;\\n  input: &quot;^rnn/basic_rnn_cell/biases/Assign&quot;\\n}\\n';\n",
       "          }\n",
       "        </script>\n",
       "        <link rel=&quot;import&quot; href=&quot;https://tensorboard.appspot.com/tf-graph-basic.build.html&quot; onload=load()>\n",
       "        <div style=&quot;height:600px&quot;>\n",
       "          <tf-graph-basic id=&quot;graph0.9507143064099162&quot;></tf-graph-basic>\n",
       "        </div>\n",
       "    \"></iframe>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "show_graph(tf.get_default_graph())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Setting the sequence lengths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_steps = 2\n",
    "n_inputs = 3\n",
    "n_neurons = 5\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "seq_length = tf.placeholder(tf.int32, [None])\n",
    "\n",
    "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n",
    "outputs, states = tf.nn.dynamic_rnn(basic_cell, X, sequence_length=seq_length, dtype=tf.float32)\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "X_batch = np.array([\n",
    "        # step 0     step 1\n",
    "        [[0, 1, 2], [9, 8, 7]], # instance 1\n",
    "        [[3, 4, 5], [0, 0, 0]], # instance 2 (padded with zero vectors)\n",
    "        [[6, 7, 8], [6, 5, 4]], # instance 3\n",
    "        [[9, 0, 1], [3, 2, 1]], # instance 4\n",
    "    ])\n",
    "seq_length_batch = np.array([2, 1, 2, 2])\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    outputs_val, states_val = sess.run(\n",
    "        [outputs, states], feed_dict={X: X_batch, seq_length: seq_length_batch})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[[ 0.41179428  0.29480082 -0.74883091 -0.88012534 -0.8605451 ]\n",
      "  [ 1.          0.99984318  0.44317675 -0.99918354 -0.99996698]]\n",
      "\n",
      " [[ 0.99728894  0.95559734 -0.64238489 -0.99710017 -0.99772489]\n",
      "  [ 0.          0.          0.          0.          0.        ]]\n",
      "\n",
      " [[ 0.9999913   0.99810869 -0.50363076 -0.9999339  -0.99996555]\n",
      "  [ 0.99993801  0.99758989 -0.29853091 -0.95755404 -0.9990595 ]]\n",
      "\n",
      " [[ 0.99875265  0.99980903  0.99960428  0.87195015 -0.13289271]\n",
      "  [ 0.95478088  0.93650955  0.74239284 -0.6496219  -0.89700985]]]\n"
     ]
    }
   ],
   "source": [
    "print(outputs_val)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 1.          0.99984318  0.44317675 -0.99918354 -0.99996698]\n",
      " [ 0.99728894  0.95559734 -0.64238489 -0.99710017 -0.99772489]\n",
      " [ 0.99993801  0.99758989 -0.29853091 -0.95755404 -0.9990595 ]\n",
      " [ 0.95478088  0.93650955  0.74239284 -0.6496219  -0.89700985]]\n"
     ]
    }
   ],
   "source": [
    "print(states_val)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Training a sequence classifier"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Note: the book uses `tensorflow.contrib.layers.fully_connected()` rather than `tf.layers.dense()` (which did not exist when this chapter was written). It is now preferable to use `tf.layers.dense()`, because anything in the contrib module may change or be deleted without notice. The `dense()` function is almost identical to the `fully_connected()` function. The main differences relevant to this chapter are:\n",
    "* several parameters are renamed: `scope` becomes `name`, `activation_fn` becomes `activation` (and similarly the `_fn` suffix is removed from other parameters such as `normalizer_fn`), `weights_initializer` becomes `kernel_initializer`, etc.\n",
    "* the default `activation` is now `None` rather than `tf.nn.relu`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_steps = 28\n",
    "n_inputs = 28\n",
    "n_neurons = 150\n",
    "n_outputs = 10\n",
    "\n",
    "learning_rate = 0.001\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "y = tf.placeholder(tf.int32, [None])\n",
    "\n",
    "with tf.variable_scope(\"rnn\", initializer=tf.contrib.layers.variance_scaling_initializer()):\n",
    "    basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons, activation=tf.nn.relu)\n",
    "    outputs, states = tf.nn.dynamic_rnn(basic_cell, X, dtype=tf.float32)\n",
    "\n",
    "logits = tf.layers.dense(states, n_outputs)\n",
    "xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)\n",
    "loss = tf.reduce_mean(xentropy)\n",
    "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n",
    "training_op = optimizer.minimize(loss)\n",
    "correct = tf.nn.in_top_k(logits, y, 1)\n",
    "accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting /tmp/data/train-images-idx3-ubyte.gz\n",
      "Extracting /tmp/data/train-labels-idx1-ubyte.gz\n",
      "Extracting /tmp/data/t10k-images-idx3-ubyte.gz\n",
      "Extracting /tmp/data/t10k-labels-idx1-ubyte.gz\n"
     ]
    }
   ],
   "source": [
    "from tensorflow.examples.tutorials.mnist import input_data\n",
    "mnist = input_data.read_data_sets(\"/tmp/data/\")\n",
    "X_test = mnist.test.images.reshape((-1, n_steps, n_inputs))\n",
    "y_test = mnist.test.labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 Train accuracy: 0.98 Test accuracy: 0.9156\n",
      "1 Train accuracy: 0.953333 Test accuracy: 0.9486\n",
      "2 Train accuracy: 0.96 Test accuracy: 0.9551\n",
      "3 Train accuracy: 0.973333 Test accuracy: 0.9582\n",
      "4 Train accuracy: 0.973333 Test accuracy: 0.9629\n",
      "5 Train accuracy: 0.973333 Test accuracy: 0.9673\n",
      "6 Train accuracy: 0.96 Test accuracy: 0.9663\n",
      "7 Train accuracy: 0.993333 Test accuracy: 0.9679\n",
      "8 Train accuracy: 0.966667 Test accuracy: 0.9665\n",
      "9 Train accuracy: 0.966667 Test accuracy: 0.9661\n",
      "10 Train accuracy: 0.993333 Test accuracy: 0.9703\n",
      "11 Train accuracy: 0.966667 Test accuracy: 0.9709\n",
      "12 Train accuracy: 0.98 Test accuracy: 0.9755\n",
      "13 Train accuracy: 0.973333 Test accuracy: 0.9746\n",
      "14 Train accuracy: 0.953333 Test accuracy: 0.9715\n",
      "15 Train accuracy: 1.0 Test accuracy: 0.9754\n",
      "16 Train accuracy: 0.986667 Test accuracy: 0.9732\n",
      "17 Train accuracy: 0.973333 Test accuracy: 0.9741\n",
      "18 Train accuracy: 0.993333 Test accuracy: 0.9784\n",
      "19 Train accuracy: 0.973333 Test accuracy: 0.9786\n",
      "20 Train accuracy: 0.98 Test accuracy: 0.9693\n",
      "21 Train accuracy: 0.986667 Test accuracy: 0.9763\n",
      "22 Train accuracy: 0.973333 Test accuracy: 0.9792\n",
      "23 Train accuracy: 0.986667 Test accuracy: 0.9792\n",
      "24 Train accuracy: 0.993333 Test accuracy: 0.9766\n",
      "25 Train accuracy: 0.986667 Test accuracy: 0.9786\n",
      "26 Train accuracy: 0.98 Test accuracy: 0.9784\n",
      "27 Train accuracy: 0.986667 Test accuracy: 0.9824\n",
      "28 Train accuracy: 1.0 Test accuracy: 0.9823\n",
      "29 Train accuracy: 0.986667 Test accuracy: 0.978\n",
      "30 Train accuracy: 0.986667 Test accuracy: 0.9747\n",
      "31 Train accuracy: 0.993333 Test accuracy: 0.9787\n",
      "32 Train accuracy: 0.993333 Test accuracy: 0.9815\n",
      "33 Train accuracy: 0.993333 Test accuracy: 0.9748\n",
      "34 Train accuracy: 0.986667 Test accuracy: 0.9768\n",
      "35 Train accuracy: 0.986667 Test accuracy: 0.978\n",
      "36 Train accuracy: 1.0 Test accuracy: 0.9846\n",
      "37 Train accuracy: 0.98 Test accuracy: 0.9777\n",
      "38 Train accuracy: 0.98 Test accuracy: 0.9769\n",
      "39 Train accuracy: 0.993333 Test accuracy: 0.9738\n",
      "40 Train accuracy: 0.98 Test accuracy: 0.9807\n",
      "41 Train accuracy: 0.993333 Test accuracy: 0.9807\n",
      "42 Train accuracy: 1.0 Test accuracy: 0.9817\n",
      "43 Train accuracy: 0.993333 Test accuracy: 0.9807\n",
      "44 Train accuracy: 0.986667 Test accuracy: 0.9806\n",
      "45 Train accuracy: 0.986667 Test accuracy: 0.9829\n",
      "46 Train accuracy: 0.993333 Test accuracy: 0.9769\n",
      "47 Train accuracy: 0.993333 Test accuracy: 0.9764\n",
      "48 Train accuracy: 1.0 Test accuracy: 0.9778\n",
      "49 Train accuracy: 0.993333 Test accuracy: 0.982\n",
      "50 Train accuracy: 0.993333 Test accuracy: 0.9801\n",
      "51 Train accuracy: 1.0 Test accuracy: 0.9757\n",
      "52 Train accuracy: 1.0 Test accuracy: 0.9826\n",
      "53 Train accuracy: 0.986667 Test accuracy: 0.9811\n",
      "54 Train accuracy: 0.993333 Test accuracy: 0.9766\n",
      "55 Train accuracy: 1.0 Test accuracy: 0.9806\n",
      "56 Train accuracy: 0.98 Test accuracy: 0.9792\n",
      "57 Train accuracy: 1.0 Test accuracy: 0.9769\n",
      "58 Train accuracy: 0.993333 Test accuracy: 0.9836\n",
      "59 Train accuracy: 1.0 Test accuracy: 0.9783\n",
      "60 Train accuracy: 0.993333 Test accuracy: 0.9823\n",
      "61 Train accuracy: 0.993333 Test accuracy: 0.9776\n",
      "62 Train accuracy: 0.993333 Test accuracy: 0.9813\n",
      "63 Train accuracy: 0.986667 Test accuracy: 0.9721\n",
      "64 Train accuracy: 1.0 Test accuracy: 0.9816\n",
      "65 Train accuracy: 0.986667 Test accuracy: 0.9828\n",
      "66 Train accuracy: 0.986667 Test accuracy: 0.9793\n",
      "67 Train accuracy: 1.0 Test accuracy: 0.9828\n",
      "68 Train accuracy: 1.0 Test accuracy: 0.982\n",
      "69 Train accuracy: 0.993333 Test accuracy: 0.9824\n",
      "70 Train accuracy: 0.986667 Test accuracy: 0.9818\n",
      "71 Train accuracy: 0.993333 Test accuracy: 0.98\n",
      "72 Train accuracy: 0.98 Test accuracy: 0.9727\n",
      "73 Train accuracy: 0.986667 Test accuracy: 0.979\n",
      "74 Train accuracy: 1.0 Test accuracy: 0.9811\n",
      "75 Train accuracy: 1.0 Test accuracy: 0.9809\n",
      "76 Train accuracy: 1.0 Test accuracy: 0.9823\n",
      "77 Train accuracy: 1.0 Test accuracy: 0.9847\n",
      "78 Train accuracy: 1.0 Test accuracy: 0.978\n",
      "79 Train accuracy: 0.993333 Test accuracy: 0.9787\n",
      "80 Train accuracy: 1.0 Test accuracy: 0.9816\n",
      "81 Train accuracy: 0.986667 Test accuracy: 0.9828\n",
      "82 Train accuracy: 0.993333 Test accuracy: 0.9802\n",
      "83 Train accuracy: 1.0 Test accuracy: 0.9851\n",
      "84 Train accuracy: 1.0 Test accuracy: 0.9783\n",
      "85 Train accuracy: 0.973333 Test accuracy: 0.9796\n",
      "86 Train accuracy: 1.0 Test accuracy: 0.9836\n",
      "87 Train accuracy: 1.0 Test accuracy: 0.9825\n",
      "88 Train accuracy: 0.993333 Test accuracy: 0.9828\n",
      "89 Train accuracy: 0.993333 Test accuracy: 0.9837\n",
      "90 Train accuracy: 0.993333 Test accuracy: 0.984\n",
      "91 Train accuracy: 0.993333 Test accuracy: 0.9825\n",
      "92 Train accuracy: 1.0 Test accuracy: 0.9833\n",
      "93 Train accuracy: 1.0 Test accuracy: 0.9804\n",
      "94 Train accuracy: 0.993333 Test accuracy: 0.9835\n",
      "95 Train accuracy: 0.993333 Test accuracy: 0.9816\n",
      "96 Train accuracy: 0.993333 Test accuracy: 0.981\n",
      "97 Train accuracy: 1.0 Test accuracy: 0.9843\n",
      "98 Train accuracy: 1.0 Test accuracy: 0.9822\n",
      "99 Train accuracy: 1.0 Test accuracy: 0.9822\n"
     ]
    }
   ],
   "source": [
    "n_epochs = 100\n",
    "batch_size = 150\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    for epoch in range(n_epochs):\n",
    "        for iteration in range(mnist.train.num_examples // batch_size):\n",
    "            X_batch, y_batch = mnist.train.next_batch(batch_size)\n",
    "            X_batch = X_batch.reshape((-1, n_steps, n_inputs))\n",
    "            sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n",
    "        acc_train = accuracy.eval(feed_dict={X: X_batch, y: y_batch})\n",
    "        acc_test = accuracy.eval(feed_dict={X: X_test, y: y_test})\n",
    "        print(epoch, \"Train accuracy:\", acc_train, \"Test accuracy:\", acc_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Multi-layer RNN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_steps = 28\n",
    "n_inputs = 28\n",
    "n_neurons1 = 150\n",
    "n_neurons2 = 100\n",
    "n_outputs = 10\n",
    "\n",
    "learning_rate = 0.001\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "y = tf.placeholder(tf.int32, [None])\n",
    "\n",
    "hidden1 = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons1, activation=tf.nn.relu)\n",
    "hidden2 = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons2, activation=tf.nn.relu)\n",
    "multi_layer_cell = tf.contrib.rnn.MultiRNNCell([hidden1, hidden2])\n",
    "outputs, states_tuple = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)\n",
    "states = tf.concat(axis=1, values=states_tuple)\n",
    "logits = tf.layers.dense(states, n_outputs)\n",
    "xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)\n",
    "loss = tf.reduce_mean(xentropy)\n",
    "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n",
    "training_op = optimizer.minimize(loss)\n",
    "correct = tf.nn.in_top_k(logits, y, 1)\n",
    "accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 Train accuracy: 0.966667 Test accuracy: 0.9281\n",
      "1 Train accuracy: 0.986667 Test accuracy: 0.9575\n",
      "2 Train accuracy: 0.966667 Test accuracy: 0.9626\n",
      "3 Train accuracy: 0.986667 Test accuracy: 0.9694\n",
      "4 Train accuracy: 0.973333 Test accuracy: 0.9746\n",
      "5 Train accuracy: 0.986667 Test accuracy: 0.9734\n",
      "6 Train accuracy: 0.973333 Test accuracy: 0.974\n",
      "7 Train accuracy: 0.986667 Test accuracy: 0.9764\n",
      "8 Train accuracy: 0.993333 Test accuracy: 0.9781\n",
      "9 Train accuracy: 0.993333 Test accuracy: 0.9741\n",
      "10 Train accuracy: 0.986667 Test accuracy: 0.9761\n",
      "11 Train accuracy: 0.986667 Test accuracy: 0.9767\n",
      "12 Train accuracy: 0.966667 Test accuracy: 0.9816\n",
      "13 Train accuracy: 0.98 Test accuracy: 0.9788\n",
      "14 Train accuracy: 0.986667 Test accuracy: 0.9792\n",
      "15 Train accuracy: 0.973333 Test accuracy: 0.9798\n",
      "16 Train accuracy: 1.0 Test accuracy: 0.9749\n",
      "17 Train accuracy: 0.993333 Test accuracy: 0.9753\n",
      "18 Train accuracy: 1.0 Test accuracy: 0.9851\n",
      "19 Train accuracy: 1.0 Test accuracy: 0.9807\n",
      "20 Train accuracy: 1.0 Test accuracy: 0.9813\n",
      "21 Train accuracy: 1.0 Test accuracy: 0.983\n",
      "22 Train accuracy: 0.98 Test accuracy: 0.9823\n",
      "23 Train accuracy: 1.0 Test accuracy: 0.9849\n",
      "24 Train accuracy: 0.986667 Test accuracy: 0.9828\n",
      "25 Train accuracy: 0.993333 Test accuracy: 0.9851\n",
      "26 Train accuracy: 0.993333 Test accuracy: 0.9852\n",
      "27 Train accuracy: 1.0 Test accuracy: 0.9852\n",
      "28 Train accuracy: 0.993333 Test accuracy: 0.9806\n",
      "29 Train accuracy: 1.0 Test accuracy: 0.9819\n",
      "30 Train accuracy: 0.986667 Test accuracy: 0.9822\n",
      "31 Train accuracy: 1.0 Test accuracy: 0.9854\n",
      "32 Train accuracy: 1.0 Test accuracy: 0.9825\n",
      "33 Train accuracy: 0.993333 Test accuracy: 0.9844\n",
      "34 Train accuracy: 1.0 Test accuracy: 0.9817\n",
      "35 Train accuracy: 1.0 Test accuracy: 0.9848\n",
      "36 Train accuracy: 0.993333 Test accuracy: 0.9835\n",
      "37 Train accuracy: 1.0 Test accuracy: 0.9862\n",
      "38 Train accuracy: 0.98 Test accuracy: 0.9838\n",
      "39 Train accuracy: 0.993333 Test accuracy: 0.9857\n",
      "40 Train accuracy: 0.993333 Test accuracy: 0.9856\n",
      "41 Train accuracy: 0.993333 Test accuracy: 0.984\n",
      "42 Train accuracy: 1.0 Test accuracy: 0.9828\n",
      "43 Train accuracy: 0.993333 Test accuracy: 0.9883\n",
      "44 Train accuracy: 0.993333 Test accuracy: 0.9787\n",
      "45 Train accuracy: 1.0 Test accuracy: 0.9823\n",
      "46 Train accuracy: 1.0 Test accuracy: 0.9837\n",
      "47 Train accuracy: 1.0 Test accuracy: 0.9867\n",
      "48 Train accuracy: 0.986667 Test accuracy: 0.9875\n",
      "49 Train accuracy: 1.0 Test accuracy: 0.9846\n",
      "50 Train accuracy: 1.0 Test accuracy: 0.9861\n",
      "51 Train accuracy: 0.993333 Test accuracy: 0.9853\n",
      "52 Train accuracy: 1.0 Test accuracy: 0.9877\n",
      "53 Train accuracy: 0.993333 Test accuracy: 0.9858\n",
      "54 Train accuracy: 0.993333 Test accuracy: 0.9841\n",
      "55 Train accuracy: 0.993333 Test accuracy: 0.9836\n",
      "56 Train accuracy: 1.0 Test accuracy: 0.984\n",
      "57 Train accuracy: 0.993333 Test accuracy: 0.9853\n",
      "58 Train accuracy: 0.986667 Test accuracy: 0.9867\n",
      "59 Train accuracy: 1.0 Test accuracy: 0.9858\n",
      "60 Train accuracy: 0.986667 Test accuracy: 0.9833\n",
      "61 Train accuracy: 0.993333 Test accuracy: 0.9859\n",
      "62 Train accuracy: 0.993333 Test accuracy: 0.984\n",
      "63 Train accuracy: 0.993333 Test accuracy: 0.9842\n",
      "64 Train accuracy: 1.0 Test accuracy: 0.9855\n",
      "65 Train accuracy: 0.993333 Test accuracy: 0.9858\n",
      "66 Train accuracy: 1.0 Test accuracy: 0.9869\n",
      "67 Train accuracy: 1.0 Test accuracy: 0.9864\n",
      "68 Train accuracy: 1.0 Test accuracy: 0.9875\n",
      "69 Train accuracy: 1.0 Test accuracy: 0.9866\n",
      "70 Train accuracy: 1.0 Test accuracy: 0.9859\n",
      "71 Train accuracy: 1.0 Test accuracy: 0.9744\n",
      "72 Train accuracy: 1.0 Test accuracy: 0.9865\n",
      "73 Train accuracy: 0.993333 Test accuracy: 0.9855\n",
      "74 Train accuracy: 0.993333 Test accuracy: 0.9871\n",
      "75 Train accuracy: 0.993333 Test accuracy: 0.9835\n",
      "76 Train accuracy: 1.0 Test accuracy: 0.9837\n",
      "77 Train accuracy: 1.0 Test accuracy: 0.9841\n",
      "78 Train accuracy: 1.0 Test accuracy: 0.9865\n",
      "79 Train accuracy: 1.0 Test accuracy: 0.9876\n",
      "80 Train accuracy: 0.993333 Test accuracy: 0.9837\n",
      "81 Train accuracy: 1.0 Test accuracy: 0.9869\n",
      "82 Train accuracy: 1.0 Test accuracy: 0.983\n",
      "83 Train accuracy: 1.0 Test accuracy: 0.9859\n",
      "84 Train accuracy: 1.0 Test accuracy: 0.9822\n",
      "85 Train accuracy: 1.0 Test accuracy: 0.9861\n",
      "86 Train accuracy: 0.993333 Test accuracy: 0.9866\n",
      "87 Train accuracy: 1.0 Test accuracy: 0.989\n",
      "88 Train accuracy: 1.0 Test accuracy: 0.9882\n",
      "89 Train accuracy: 0.993333 Test accuracy: 0.9864\n",
      "90 Train accuracy: 1.0 Test accuracy: 0.9867\n",
      "91 Train accuracy: 0.993333 Test accuracy: 0.9798\n",
      "92 Train accuracy: 1.0 Test accuracy: 0.9829\n",
      "93 Train accuracy: 1.0 Test accuracy: 0.9864\n",
      "94 Train accuracy: 1.0 Test accuracy: 0.9851\n",
      "95 Train accuracy: 1.0 Test accuracy: 0.9853\n",
      "96 Train accuracy: 1.0 Test accuracy: 0.9871\n",
      "97 Train accuracy: 1.0 Test accuracy: 0.9845\n",
      "98 Train accuracy: 1.0 Test accuracy: 0.9854\n",
      "99 Train accuracy: 0.993333 Test accuracy: 0.9844\n"
     ]
    }
   ],
   "source": [
    "n_epochs = 100\n",
    "batch_size = 150\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    for epoch in range(n_epochs):\n",
    "        for iteration in range(mnist.train.num_examples // batch_size):\n",
    "            X_batch, y_batch = mnist.train.next_batch(batch_size)\n",
    "            X_batch = X_batch.reshape((-1, n_steps, n_inputs))\n",
    "            sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n",
    "        acc_train = accuracy.eval(feed_dict={X: X_batch, y: y_batch})\n",
    "        acc_test = accuracy.eval(feed_dict={X: X_test, y: y_test})\n",
    "        print(epoch, \"Train accuracy:\", acc_train, \"Test accuracy:\", acc_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Time series"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "t_min, t_max = 0, 30\n",
    "resolution = 0.1\n",
    "\n",
    "def time_series(t):\n",
    "    return t * np.sin(t) / 3 + 2 * np.sin(t*5)\n",
    "\n",
    "def next_batch(batch_size, n_steps):\n",
    "    t0 = np.random.rand(batch_size, 1) * (t_max - t_min - n_steps * resolution)\n",
    "    Ts = t0 + np.arange(0., n_steps + 1) * resolution\n",
    "    ys = time_series(Ts)\n",
    "    return ys[:, :-1].reshape(-1, n_steps, 1), ys[:, 1:].reshape(-1, n_steps, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saving figure time_series_plot\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/ageron/dev/py/envs/ml/lib/python3.5/site-packages/ipykernel/__main__.py:1: DeprecationWarning: object of type <class 'float'> cannot be safely interpreted as an integer.\n",
      "  if __name__ == '__main__':\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f2cb9771320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.linspace(t_min, t_max, (t_max - t_min) // resolution)\n",
    "\n",
    "n_steps = 20\n",
    "t_instance = np.linspace(12.2, 12.2 + resolution * (n_steps + 1), n_steps + 1)\n",
    "\n",
    "plt.figure(figsize=(11,4))\n",
    "plt.subplot(121)\n",
    "plt.title(\"A time series (generated)\", fontsize=14)\n",
    "plt.plot(t, time_series(t), label=r\"$t . \\sin(t) / 3 + 2 . \\sin(5t)$\")\n",
    "plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"b-\", linewidth=3, label=\"A training instance\")\n",
    "plt.legend(loc=\"lower left\", fontsize=14)\n",
    "plt.axis([0, 30, -17, 13])\n",
    "plt.xlabel(\"Time\")\n",
    "plt.ylabel(\"Value\")\n",
    "\n",
    "plt.subplot(122)\n",
    "plt.title(\"A training instance\", fontsize=14)\n",
    "plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"bo\", markersize=10, label=\"instance\")\n",
    "plt.plot(t_instance[1:], time_series(t_instance[1:]), \"w*\", markersize=10, label=\"target\")\n",
    "plt.legend(loc=\"upper left\")\n",
    "plt.xlabel(\"Time\")\n",
    "\n",
    "\n",
    "save_fig(\"time_series_plot\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "X_batch, y_batch = next_batch(1, n_steps)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.3266291 , -0.97081587],\n",
       "       [-0.97081587, -2.09298955],\n",
       "       [-2.09298955, -2.84017944],\n",
       "       [-2.84017944, -3.10464787],\n",
       "       [-3.10464787, -2.89622372],\n",
       "       [-2.89622372, -2.33910087],\n",
       "       [-2.33910087, -1.64063575],\n",
       "       [-1.64063575, -1.03979198],\n",
       "       [-1.03979198, -0.74786335],\n",
       "       [-0.74786335, -0.89599678],\n",
       "       [-0.89599678, -1.50237198],\n",
       "       [-1.50237198, -2.46708161],\n",
       "       [-2.46708161, -3.59597343],\n",
       "       [-3.59597343, -4.64762444],\n",
       "       [-4.64762444, -5.39195331],\n",
       "       [-5.39195331, -5.66612695],\n",
       "       [-5.66612695, -5.41407933],\n",
       "       [-5.41407933, -4.69997176],\n",
       "       [-4.69997176, -3.69230347],\n",
       "       [-3.69230347, -2.6225661 ]])"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.c_[X_batch[0], y_batch[0]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Using an `OuputProjectionWrapper`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_steps = 20\n",
    "n_inputs = 1\n",
    "n_neurons = 100\n",
    "n_outputs = 1\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "y = tf.placeholder(tf.float32, [None, n_steps, n_outputs])\n",
    "\n",
    "cell = tf.contrib.rnn.OutputProjectionWrapper(\n",
    "    tf.contrib.rnn.BasicRNNCell(num_units=n_neurons, activation=tf.nn.relu),\n",
    "    output_size=n_outputs)\n",
    "outputs, states = tf.nn.dynamic_rnn(cell, X, dtype=tf.float32)\n",
    "\n",
    "n_outputs = 1\n",
    "learning_rate = 0.001\n",
    "\n",
    "loss = tf.reduce_sum(tf.square(outputs - y))\n",
    "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n",
    "training_op = optimizer.minimize(loss)\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 \tMSE: 18105.6\n",
      "100 \tMSE: 627.721\n",
      "200 \tMSE: 312.021\n",
      "300 \tMSE: 141.915\n",
      "400 \tMSE: 100.223\n",
      "500 \tMSE: 63.7294\n",
      "600 \tMSE: 53.6281\n",
      "700 \tMSE: 55.9866\n",
      "800 \tMSE: 61.5282\n",
      "900 \tMSE: 60.0103\n",
      "[[[-3.48736715]\n",
      "  [-2.54926825]\n",
      "  [-1.2468276 ]\n",
      "  [ 0.55057281]\n",
      "  [ 2.08766317]\n",
      "  [ 3.12767291]\n",
      "  [ 3.52064586]\n",
      "  [ 3.33448243]\n",
      "  [ 2.78682923]\n",
      "  [ 2.13929224]\n",
      "  [ 1.65987778]\n",
      "  [ 1.48081505]\n",
      "  [ 1.88019645]\n",
      "  [ 2.71671796]\n",
      "  [ 3.864393  ]\n",
      "  [ 5.09236956]\n",
      "  [ 6.07132006]\n",
      "  [ 6.60731411]\n",
      "  [ 6.57813835]\n",
      "  [ 5.98707247]]]\n"
     ]
    }
   ],
   "source": [
    "n_iterations = 1000\n",
    "batch_size = 50\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    for iteration in range(n_iterations):\n",
    "        X_batch, y_batch = next_batch(batch_size, n_steps)\n",
    "        sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n",
    "        if iteration % 100 == 0:\n",
    "            mse = loss.eval(feed_dict={X: X_batch, y: y_batch})\n",
    "            print(iteration, \"\\tMSE:\", mse)\n",
    "    \n",
    "    X_new = time_series(np.array(t_instance[:-1].reshape(-1, n_steps, n_inputs)))\n",
    "    y_pred = sess.run(outputs, feed_dict={X: X_new})\n",
    "    print(y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saving figure time_series_pred_plot\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f2cbdcc3c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"Testing the model\", fontsize=14)\n",
    "plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"bo\", markersize=10, label=\"instance\")\n",
    "plt.plot(t_instance[1:], time_series(t_instance[1:]), \"w*\", markersize=10, label=\"target\")\n",
    "plt.plot(t_instance[1:], y_pred[0,:,0], \"r.\", markersize=10, label=\"prediction\")\n",
    "plt.legend(loc=\"upper left\")\n",
    "plt.xlabel(\"Time\")\n",
    "\n",
    "save_fig(\"time_series_pred_plot\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Without using an `OutputProjectionWrapper`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_steps = 20\n",
    "n_inputs = 1\n",
    "n_neurons = 100\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "y = tf.placeholder(tf.float32, [None, n_steps, n_outputs])\n",
    "\n",
    "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons, activation=tf.nn.relu)\n",
    "rnn_outputs, states = tf.nn.dynamic_rnn(basic_cell, X, dtype=tf.float32)\n",
    "\n",
    "n_outputs = 1\n",
    "learning_rate = 0.001\n",
    "\n",
    "stacked_rnn_outputs = tf.reshape(rnn_outputs, [-1, n_neurons])\n",
    "stacked_outputs = tf.layers.dense(stacked_rnn_outputs, n_outputs)\n",
    "outputs = tf.reshape(stacked_outputs, [-1, n_steps, n_outputs])\n",
    "\n",
    "loss = tf.reduce_sum(tf.square(outputs - y))\n",
    "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n",
    "training_op = optimizer.minimize(loss)\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 \tMSE: 14049.4\n",
      "100 \tMSE: 486.543\n",
      "200 \tMSE: 176.595\n",
      "300 \tMSE: 77.5854\n",
      "400 \tMSE: 62.1718\n",
      "500 \tMSE: 51.6699\n",
      "600 \tMSE: 55.632\n",
      "700 \tMSE: 48.0913\n",
      "800 \tMSE: 51.8524\n",
      "900 \tMSE: 42.9283\n",
      "[[[-3.44116426]\n",
      "  [-2.50117278]\n",
      "  [-1.02837551]\n",
      "  [ 0.6847741 ]\n",
      "  [ 2.11391187]\n",
      "  [ 3.0932982 ]\n",
      "  [ 3.51630306]\n",
      "  [ 3.4110744 ]\n",
      "  [ 2.8878057 ]\n",
      "  [ 2.20357442]\n",
      "  [ 1.67804587]\n",
      "  [ 1.52865112]\n",
      "  [ 1.89587581]\n",
      "  [ 2.71382356]\n",
      "  [ 3.91365337]\n",
      "  [ 5.1154604 ]\n",
      "  [ 6.10716248]\n",
      "  [ 6.66573906]\n",
      "  [ 6.65902996]\n",
      "  [ 6.09725142]]]\n"
     ]
    }
   ],
   "source": [
    "n_iterations = 1000\n",
    "batch_size = 50\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    for iteration in range(n_iterations):\n",
    "        X_batch, y_batch = next_batch(batch_size, n_steps)\n",
    "        sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n",
    "        if iteration % 100 == 0:\n",
    "            mse = loss.eval(feed_dict={X: X_batch, y: y_batch})\n",
    "            print(iteration, \"\\tMSE:\", mse)\n",
    "    \n",
    "    X_new = time_series(np.array(t_instance[:-1].reshape(-1, n_steps, n_inputs)))\n",
    "    y_pred = sess.run(outputs, feed_dict={X: X_new})\n",
    "    print(y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nJN5f/DvxdlUvwjsMrjHGmBDjaDNQVf0vYJNNVENSUlKwixAy7FgcZcfiKDsWtcfRZqBV3qiIBmO7\nxhhTn4kI6uBD4JAaDjohIYHs7OxgF8NUID4+ni1btgS7GMYYh4TUHYAvutV5eUzV2PdjTHA5fQdg\no4EaY0yYsgBgjDFhygKAMcaEqZB6CBxIcXEx77yzmFmzPufgwQiioo4wZsxARo4cistVtfjlRB5n\nnnkmTz/9NBdeeOGJ7I4xxoSMkH4InJeXx/DhU1mz5grc7iRK5smOjMwgMXEuCxZMoX379pVuy4k8\nnDB16lR++OEHZs+eXevbqi32ENiY4Aqbh8Aej4fhw6eSmTkDtzuZo9OWCm53MpmZMxg+fCoeT8WT\njTmRhzHGNFQhGwDeeWcxa9ZcAZxUQYqTWLNmFO+9t6RW8yjRtWtXli5dytSpU7nqqqu4/vrradmy\nJb169eKrr74qTffwww9z8skn07JlS04//XSWLVvG4sWLmT59Om+++SYtWrSgT58+AMyaNYszzjiD\nli1b0r17d55//vnSfD7++GPi4uJ49NFH6dChA507d2bWrFml691uN3fddRcJCQlER0dz4YUXcvjw\nYQBWrFjB+eefT3R0NH369OHjjz8+7v4ZY8JQkEa000D8lw8bdo+CR0EreXk0NfWegHk5lUeJhIQE\n/eijjzQtLU2bNWumH3zwgXo8Hr377rv1vPPOU1XV9evXa1xcnP7888+qqpqdna0//vijqqqmpaXp\n6NGjy+SZnp6umzdvVlXVTz75RKOiovTrr79WVdWMjAyNiIjQtLQ0PXLkiKanp2tUVJTu3r1bVVXH\njx+vycnJun37dvV4PLp8+XItLCzUn376Sdu2basffPCBqqr+5z//0bZt2+quXbuOu4/HU9H3Zoyp\nG77/g45di0P2DuDgwQiOVtlURHzpai+PQAYOHMjQoUMREUaPHs1///tfABo1akRhYSHffvstR44c\noUuXLnTt2rXCfC655BISEhIAuOCCC0hJSeHTTz8tXd+kSRPuu+8+GjVqxCWXXELz5s1Zv349qsrM\nmTP5xz/+QceOHRERzjvvPBo3bsxrr71GamoqQ4cOBWDw4MH07duX9PT0au2jMabhC9kAEBV1BDje\nA0f1pau9PALp2LGj3zaicLvdeDweTjnlFB5//HHS0tLo0KED1157LT///HOF+SxatIj+/fvTtm1b\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f2cb4a55438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"Testing the model\", fontsize=14)\n",
    "plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"bo\", markersize=10, label=\"instance\")\n",
    "plt.plot(t_instance[1:], time_series(t_instance[1:]), \"w*\", markersize=10, label=\"target\")\n",
    "plt.plot(t_instance[1:], y_pred[0,:,0], \"r.\", markersize=10, label=\"prediction\")\n",
    "plt.legend(loc=\"upper left\")\n",
    "plt.xlabel(\"Time\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Generating a creative new sequence"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 \tMSE: 19680.3\n",
      "100 \tMSE: 570.373\n",
      "200 \tMSE: 266.971\n",
      "300 \tMSE: 86.2618\n",
      "400 \tMSE: 86.6934\n",
      "500 \tMSE: 50.9602\n",
      "600 \tMSE: 51.4026\n",
      "700 \tMSE: 48.2021\n",
      "800 \tMSE: 45.0193\n",
      "900 \tMSE: 40.7775\n",
      "1000 \tMSE: 48.967\n",
      "1100 \tMSE: 46.6544\n",
      "1200 \tMSE: 49.4276\n",
      "1300 \tMSE: 39.5498\n",
      "1400 \tMSE: 50.0555\n",
      "1500 \tMSE: 46.4711\n",
      "1600 \tMSE: 52.2085\n",
      "1700 \tMSE: 47.5045\n",
      "1800 \tMSE: 44.0871\n",
      "1900 \tMSE: 51.6531\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f2ca0389b38>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_iterations = 2000\n",
    "batch_size = 50\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    for iteration in range(n_iterations):\n",
    "        X_batch, y_batch = next_batch(batch_size, n_steps)\n",
    "        sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n",
    "        if iteration % 100 == 0:\n",
    "            mse = loss.eval(feed_dict={X: X_batch, y: y_batch})\n",
    "            print(iteration, \"\\tMSE:\", mse)\n",
    "\n",
    "    sequence1 = [0. for i in range(n_steps)]\n",
    "    for iteration in range(len(t) - n_steps):\n",
    "        X_batch = np.array(sequence1[-n_steps:]).reshape(1, n_steps, 1)\n",
    "        y_pred = sess.run(outputs, feed_dict={X: X_batch})\n",
    "        sequence1.append(y_pred[0, -1, 0])\n",
    "\n",
    "    sequence2 = [time_series(i * resolution + t_min + (t_max-t_min/3)) for i in range(n_steps)]\n",
    "    for iteration in range(len(t) - n_steps):\n",
    "        X_batch = np.array(sequence2[-n_steps:]).reshape(1, n_steps, 1)\n",
    "        y_pred = sess.run(outputs, feed_dict={X: X_batch})\n",
    "        sequence2.append(y_pred[0, -1, 0])\n",
    "\n",
    "plt.figure(figsize=(11,4))\n",
    "plt.subplot(121)\n",
    "plt.plot(t, sequence1, \"b-\")\n",
    "plt.plot(t[:n_steps], sequence1[:n_steps], \"b-\", linewidth=3)\n",
    "plt.xlabel(\"Time\")\n",
    "plt.ylabel(\"Value\")\n",
    "\n",
    "plt.subplot(122)\n",
    "plt.plot(t, sequence2, \"b-\")\n",
    "plt.plot(t[:n_steps], sequence2[:n_steps], \"b-\", linewidth=3)\n",
    "plt.xlabel(\"Time\")\n",
    "#save_fig(\"creative_sequence_plot\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Deep RNN"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## MultiRNNCell"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_inputs = 2\n",
    "n_neurons = 100\n",
    "n_layers = 3\n",
    "n_steps = 5\n",
    "keep_prob = 0.5\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n",
    "multi_layer_cell = tf.contrib.rnn.MultiRNNCell([basic_cell] * n_layers)\n",
    "outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "X_batch = rnd.rand(2, n_steps, n_inputs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    outputs_val, states_val = sess.run([outputs, states], feed_dict={X: X_batch})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2, 5, 100)"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "outputs_val.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Dropout"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_inputs = 1\n",
    "n_neurons = 100\n",
    "n_layers = 3\n",
    "n_steps = 20\n",
    "n_outputs = 1\n",
    "\n",
    "keep_prob = 0.5\n",
    "learning_rate = 0.001\n",
    "\n",
    "is_training = True\n",
    "\n",
    "def deep_rnn_with_dropout(X, y, is_training):\n",
    "    cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n",
    "    if is_training:\n",
    "        cell = tf.contrib.rnn.DropoutWrapper(cell, input_keep_prob=keep_prob)\n",
    "    multi_layer_cell = tf.contrib.rnn.MultiRNNCell([cell] * n_layers)\n",
    "    rnn_outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)\n",
    "\n",
    "    stacked_rnn_outputs = tf.reshape(rnn_outputs, [-1, n_neurons])\n",
    "    stacked_outputs = tf.layers.dense(stacked_rnn_outputs, n_outputs)\n",
    "    outputs = tf.reshape(stacked_outputs, [-1, n_steps, n_outputs])\n",
    "\n",
    "    loss = tf.reduce_sum(tf.square(outputs - y))\n",
    "    optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n",
    "    training_op = optimizer.minimize(loss)\n",
    "\n",
    "    return outputs, loss, training_op\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "y = tf.placeholder(tf.float32, [None, n_steps, n_outputs])\n",
    "outputs, loss, training_op = deep_rnn_with_dropout(X, y, is_training)\n",
    "init = tf.global_variables_initializer()\n",
    "saver = tf.train.Saver()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 \tMSE: 12924.1\n",
      "100 \tMSE: 5977.86\n",
      "200 \tMSE: 4091.49\n",
      "300 \tMSE: 3568.85\n",
      "400 \tMSE: 3463.31\n",
      "500 \tMSE: 2903.24\n",
      "600 \tMSE: 3053.23\n",
      "700 \tMSE: 2951.54\n",
      "800 \tMSE: 2298.84\n",
      "900 \tMSE: 2261.7\n",
      "1000 \tMSE: 2539.72\n",
      "1100 \tMSE: 2244.54\n",
      "1200 \tMSE: 2662.65\n",
      "1300 \tMSE: 1727.08\n",
      "1400 \tMSE: 2257.1\n",
      "1500 \tMSE: 2755.52\n",
      "1600 \tMSE: 2684.77\n",
      "1700 \tMSE: 2165.59\n",
      "1800 \tMSE: 1599.96\n",
      "1900 \tMSE: 1763.45\n"
     ]
    }
   ],
   "source": [
    "n_iterations = 2000\n",
    "batch_size = 50\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    if is_training:\n",
    "        init.run()\n",
    "        for iteration in range(n_iterations):\n",
    "            X_batch, y_batch = next_batch(batch_size, n_steps)\n",
    "            sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n",
    "            if iteration % 100 == 0:\n",
    "                mse = loss.eval(feed_dict={X: X_batch, y: y_batch})\n",
    "                print(iteration, \"\\tMSE:\", mse)\n",
    "        save_path = saver.save(sess, \"/tmp/my_model.ckpt\")\n",
    "    else:\n",
    "        saver.restore(sess, \"/tmp/my_model.ckpt\")\n",
    "        X_new = time_series(np.array(t_instance[:-1].reshape(-1, n_steps, n_inputs)))\n",
    "        y_pred = sess.run(outputs, feed_dict={X: X_new})\n",
    "        \n",
    "        plt.title(\"Testing the model\", fontsize=14)\n",
    "        plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"bo\", markersize=10, label=\"instance\")\n",
    "        plt.plot(t_instance[1:], time_series(t_instance[1:]), \"w*\", markersize=10, label=\"target\")\n",
    "        plt.plot(t_instance[1:], y_pred[0,:,0], \"r.\", markersize=10, label=\"prediction\")\n",
    "        plt.legend(loc=\"upper left\")\n",
    "        plt.xlabel(\"Time\")\n",
    "        plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# LSTM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_steps = 28\n",
    "n_inputs = 28\n",
    "n_neurons = 150\n",
    "n_outputs = 10\n",
    "\n",
    "learning_rate = 0.001\n",
    "\n",
    "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n",
    "y = tf.placeholder(tf.int32, [None])\n",
    "\n",
    "lstm_cell = tf.contrib.rnn.BasicLSTMCell(num_units=n_neurons)\n",
    "multi_cell = tf.contrib.rnn.MultiRNNCell([lstm_cell]*3)\n",
    "outputs, states = tf.nn.dynamic_rnn(multi_cell, X, dtype=tf.float32)\n",
    "top_layer_h_state = states[-1][1]\n",
    "logits = tf.layers.dense(top_layer_h_state, n_outputs, name=\"softmax\")\n",
    "xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)\n",
    "loss = tf.reduce_mean(xentropy, name=\"loss\")\n",
    "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n",
    "training_op = optimizer.minimize(loss)\n",
    "correct = tf.nn.in_top_k(logits, y, 1)\n",
    "accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))\n",
    "    \n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(LSTMStateTuple(c=<tf.Tensor 'rnn/while/Exit_2:0' shape=(?, 150) dtype=float32>, h=<tf.Tensor 'rnn/while/Exit_3:0' shape=(?, 150) dtype=float32>),\n",
       " LSTMStateTuple(c=<tf.Tensor 'rnn/while/Exit_4:0' shape=(?, 150) dtype=float32>, h=<tf.Tensor 'rnn/while/Exit_5:0' shape=(?, 150) dtype=float32>),\n",
       " LSTMStateTuple(c=<tf.Tensor 'rnn/while/Exit_6:0' shape=(?, 150) dtype=float32>, h=<tf.Tensor 'rnn/while/Exit_7:0' shape=(?, 150) dtype=float32>))"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "states"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor 'rnn/while/Exit_7:0' shape=(?, 150) dtype=float32>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "top_layer_h_state"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 0 Train accuracy = 0.966667 Test accuracy = 0.9485\n",
      "Epoch 1 Train accuracy = 0.98 Test accuracy = 0.9715\n",
      "Epoch 2 Train accuracy = 0.96 Test accuracy = 0.9693\n",
      "Epoch 3 Train accuracy = 0.986667 Test accuracy = 0.9789\n",
      "Epoch 4 Train accuracy = 0.986667 Test accuracy = 0.983\n",
      "Epoch 5 Train accuracy = 1.0 Test accuracy = 0.9828\n",
      "Epoch 6 Train accuracy = 0.993333 Test accuracy = 0.9846\n",
      "Epoch 7 Train accuracy = 0.993333 Test accuracy = 0.9832\n",
      "Epoch 8 Train accuracy = 0.993333 Test accuracy = 0.988\n",
      "Epoch 9 Train accuracy = 1.0 Test accuracy = 0.9872\n"
     ]
    }
   ],
   "source": [
    "n_epochs = 10\n",
    "batch_size = 150\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    for epoch in range(n_epochs):\n",
    "        for iteration in range(mnist.train.num_examples // batch_size):\n",
    "            X_batch, y_batch = mnist.train.next_batch(batch_size)\n",
    "            X_batch = X_batch.reshape((batch_size, n_steps, n_inputs))\n",
    "            sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n",
    "        acc_train = accuracy.eval(feed_dict={X: X_batch, y: y_batch})\n",
    "        acc_test = accuracy.eval(feed_dict={X: X_test, y: y_test})\n",
    "        print(\"Epoch\", epoch, \"Train accuracy =\", acc_train, \"Test accuracy =\", acc_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Distributing layers across devices"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "\n",
    "class DeviceCellWrapper(tf.contrib.rnn.RNNCell):\n",
    "  def __init__(self, device, cell):\n",
    "    self._cell = cell\n",
    "    self._device = device\n",
    "\n",
    "  @property\n",
    "  def state_size(self):\n",
    "    return self._cell.state_size\n",
    "\n",
    "  @property\n",
    "  def output_size(self):\n",
    "    return self._cell.output_size\n",
    "\n",
    "  def __call__(self, inputs, state, scope=None):\n",
    "    with tf.device(self._device):\n",
    "        return self._cell(inputs, state, scope)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "n_inputs = 5\n",
    "n_neurons = 100\n",
    "devices = [\"/cpu:0\"]*5\n",
    "n_steps = 20\n",
    "X = tf.placeholder(tf.float32, shape=[None, n_steps, n_inputs])\n",
    "lstm_cells = [DeviceCellWrapper(device, tf.contrib.rnn.BasicRNNCell(num_units=n_neurons))\n",
    "              for device in devices]\n",
    "multi_layer_cell = tf.contrib.rnn.MultiRNNCell(lstm_cells)\n",
    "outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[[ 0.05674776 -0.04305125  0.05370279 ..., -0.12256134 -0.02424083\n",
      "    0.028048  ]\n",
      "  [-0.16923295 -0.03783271 -0.03480514 ..., -0.02047317  0.16642918\n",
      "   -0.04563583]\n",
      "  [-0.04840624  0.11496866  0.2791242  ...,  0.34174094  0.36318955\n",
      "    0.04168634]\n",
      "  ..., \n",
      "  [-0.00508341 -0.25739726  0.60932404 ..., -0.63079047  0.09339754\n",
      "   -0.59710467]\n",
      "  [ 0.29252967  0.3760837   0.55276692 ..., -0.62108451  0.28393152\n",
      "   -0.29904026]\n",
      "  [-0.35599104 -0.47612086  0.74243373 ..., -0.34370166  0.13243021\n",
      "   -0.29492998]]\n",
      "\n",
      " [[ 0.02094048 -0.04969998  0.05841689 ..., -0.15546556 -0.01198483\n",
      "    0.03694121]\n",
      "  [-0.15849786 -0.00336568  0.06917289 ...,  0.03318559  0.06535058\n",
      "   -0.02117995]\n",
      "  [ 0.00912648  0.03812006  0.27725378 ...,  0.20469114  0.3503969\n",
      "    0.2177404 ]\n",
      "  ..., \n",
      "  [ 0.06990141 -0.09845901  0.55926728 ..., -0.51187426 -0.05328218\n",
      "   -0.33552352]\n",
      "  [ 0.1207021  -0.43659616  0.60050225 ..., -0.33676812  0.26493025\n",
      "   -0.65749478]\n",
      "  [-0.20266469 -0.38161638  0.49859455 ...,  0.05017293  0.23702489\n",
      "   -0.56292754]]]\n"
     ]
    }
   ],
   "source": [
    "with tf.Session() as sess:\n",
    "    init.run()\n",
    "    print(sess.run(outputs, feed_dict={X: rnd.rand(2, n_steps, n_inputs)}))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Embeddings"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "This section is based on TensorFlow's [Word2Vec tutorial](https://www.tensorflow.org/versions/r0.11/tutorials/word2vec/index.html)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Fetch the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "from six.moves import urllib\n",
    "\n",
    "import errno\n",
    "import os\n",
    "import zipfile\n",
    "\n",
    "WORDS_PATH = \"datasets/words\"\n",
    "WORDS_URL = 'http://mattmahoney.net/dc/text8.zip'\n",
    "\n",
    "def mkdir_p(path):\n",
    "    \"\"\"Create directories, ok if they already exist.\n",
    "    \n",
    "    This is for python 2 support. In python >=3.2, simply use:\n",
    "    >>> os.makedirs(path, exist_ok=True)\n",
    "    \"\"\"\n",
    "    try:\n",
    "        os.makedirs(path)\n",
    "    except OSError as exc:\n",
    "        if exc.errno == errno.EEXIST and os.path.isdir(path):\n",
    "            pass\n",
    "        else:\n",
    "            raise\n",
    "\n",
    "def fetch_words_data(words_url=WORDS_URL, words_path=WORDS_PATH):\n",
    "    os.makedirs(words_path, exist_ok=True)\n",
    "    zip_path = os.path.join(words_path, \"words.zip\")\n",
    "    if not os.path.exists(zip_path):\n",
    "        urllib.request.urlretrieve(words_url, zip_path)\n",
    "    with zipfile.ZipFile(zip_path) as f:\n",
    "        data = f.read(f.namelist()[0])\n",
    "    return data.decode(\"ascii\").split()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "words = fetch_words_data()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['anarchism', 'originated', 'as', 'a', 'term']"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "words[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Build the dictionary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "from collections import Counter\n",
    "\n",
    "vocabulary_size = 50000\n",
    "\n",
    "vocabulary = [(\"UNK\", None)] + Counter(words).most_common(vocabulary_size - 1)\n",
    "vocabulary = np.array([word for word, _ in vocabulary])\n",
    "dictionary = {word: code for code, word in enumerate(vocabulary)}\n",
    "data = np.array([dictionary.get(word, 0) for word in words])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('anarchism originated as a term of abuse first used',\n",
       " array([5238, 3083,   12,    6,  195,    2, 3136,   46,   59]))"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\" \".join(words[:9]), data[:9]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'sitting inducted as a term of recipient first used'"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\" \".join([vocabulary[word_index] for word_index in [5241, 3081, 12, 6, 195, 2, 3134, 46, 59]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('culottes', 0)"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "words[24], data[24]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Generate batches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "import random\n",
    "from collections import deque\n",
    "\n",
    "def generate_batch(batch_size, num_skips, skip_window):\n",
    "    global data_index\n",
    "    assert batch_size % num_skips == 0\n",
    "    assert num_skips <= 2 * skip_window\n",
    "    batch = np.ndarray(shape=(batch_size), dtype=np.int32)\n",
    "    labels = np.ndarray(shape=(batch_size, 1), dtype=np.int32)\n",
    "    span = 2 * skip_window + 1 # [ skip_window target skip_window ]\n",
    "    buffer = deque(maxlen=span)\n",
    "    for _ in range(span):\n",
    "        buffer.append(data[data_index])\n",
    "        data_index = (data_index + 1) % len(data)\n",
    "    for i in range(batch_size // num_skips):\n",
    "        target = skip_window  # target label at the center of the buffer\n",
    "        targets_to_avoid = [ skip_window ]\n",
    "        for j in range(num_skips):\n",
    "            while target in targets_to_avoid:\n",
    "                target = random.randint(0, span - 1)\n",
    "            targets_to_avoid.append(target)\n",
    "            batch[i * num_skips + j] = buffer[skip_window]\n",
    "            labels[i * num_skips + j, 0] = buffer[target]\n",
    "        buffer.append(data[data_index])\n",
    "        data_index = (data_index + 1) % len(data)\n",
    "    return batch, labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "data_index=0\n",
    "batch, labels = generate_batch(8, 2, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([3083, 3083,   12,   12,    6,    6,  195,  195], dtype=int32),\n",
       " ['originated', 'originated', 'as', 'as', 'a', 'a', 'term', 'term'])"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "batch, [vocabulary[word] for word in batch]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([[5238],\n",
       "        [  12],\n",
       "        [   6],\n",
       "        [3083],\n",
       "        [  12],\n",
       "        [ 195],\n",
       "        [   2],\n",
       "        [   6]], dtype=int32),\n",
       " ['anarchism', 'as', 'a', 'originated', 'as', 'term', 'of', 'a'])"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "labels, [vocabulary[word] for word in labels[:, 0]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Build the model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "batch_size = 128\n",
    "embedding_size = 128  # Dimension of the embedding vector.\n",
    "skip_window = 1       # How many words to consider left and right.\n",
    "num_skips = 2         # How many times to reuse an input to generate a label.\n",
    "\n",
    "# We pick a random validation set to sample nearest neighbors. Here we limit the\n",
    "# validation samples to the words that have a low numeric ID, which by\n",
    "# construction are also the most frequent.\n",
    "valid_size = 16     # Random set of words to evaluate similarity on.\n",
    "valid_window = 100  # Only pick dev samples in the head of the distribution.\n",
    "valid_examples = rnd.choice(valid_window, valid_size, replace=False)\n",
    "num_sampled = 64    # Number of negative examples to sample.\n",
    "\n",
    "learning_rate = 0.01"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()\n",
    "\n",
    "# Input data.\n",
    "train_inputs = tf.placeholder(tf.int32, shape=[batch_size])\n",
    "train_labels = tf.placeholder(tf.int32, shape=[batch_size, 1])\n",
    "valid_dataset = tf.constant(valid_examples, dtype=tf.int32)\n",
    "\n",
    "# Look up embeddings for inputs.\n",
    "init_embeddings = tf.random_uniform([vocabulary_size, embedding_size], -1.0, 1.0)\n",
    "embeddings = tf.Variable(init_embeddings)\n",
    "embed = tf.nn.embedding_lookup(embeddings, train_inputs)\n",
    "\n",
    "# Construct the variables for the NCE loss\n",
    "nce_weights = tf.Variable(\n",
    "    tf.truncated_normal([vocabulary_size, embedding_size],\n",
    "                        stddev=1.0 / np.sqrt(embedding_size)))\n",
    "nce_biases = tf.Variable(tf.zeros([vocabulary_size]))\n",
    "\n",
    "# Compute the average NCE loss for the batch.\n",
    "# tf.nce_loss automatically draws a new sample of the negative labels each\n",
    "# time we evaluate the loss.\n",
    "loss = tf.reduce_mean(\n",
    "    tf.nn.nce_loss(nce_weights, nce_biases, train_labels, embed,\n",
    "                   num_sampled, vocabulary_size))\n",
    "\n",
    "# Construct the Adam optimizer\n",
    "optimizer = tf.train.AdamOptimizer(learning_rate)\n",
    "training_op = optimizer.minimize(loss)\n",
    "\n",
    "# Compute the cosine similarity between minibatch examples and all embeddings.\n",
    "norm = tf.sqrt(tf.reduce_sum(tf.square(embeddings), axis=1, keep_dims=True))\n",
    "normalized_embeddings = embeddings / norm\n",
    "valid_embeddings = tf.nn.embedding_lookup(normalized_embeddings, valid_dataset)\n",
    "similarity = tf.matmul(valid_embeddings, normalized_embeddings, transpose_b=True)\n",
    "\n",
    "# Add variable initializer.\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Train the model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Iteration: 0\tAverage loss at step  0 :  291.594116211\n",
      "Nearest to on: rp, coast, uzbeks, pressurized, diana, hatchet, impure, spaceflight,\n",
      "Nearest to have: avoiding, cushing, alde, atchison, optimally, passos, attachment, allophone,\n",
      "Nearest to which: plausibility, egalitarian, learns, purple, comprising, underweight, whitey, buffering,\n",
      "Nearest to in: redding, triplets, niz, textual, coloureds, aft, minefields, dt,\n",
      "Nearest to if: imax, ailuropoda, vga, dragoons, scepticism, hispano, ipa, hallstatt,\n",
      "Nearest to system: sucking, supplementation, beaverbrook, interlude, pcbs, recurring, stravinsky, payne,\n",
      "Nearest to his: pastoral, ngos, theologiae, enlil, daewoo, russo, dawson, reinhard,\n",
      "Nearest to war: specialize, freemason, brewery, peninsulas, godzilla, stanshall, megiddo, deflecting,\n",
      "Nearest to would: monkey, jurisprudence, lieben, manages, celeste, nikki, agathon, ounces,\n",
      "Nearest to a: downside, encephalopathy, cabinet, cortisol, mummy, partit, aleksander, gayle,\n",
      "Nearest to over: ballpoint, chimneys, missionary, handhelds, bart, dupont, marburg, anarcha,\n",
      "Nearest to four: peanut, corroborating, propane, blackstone, barristers, communicates, flaps, nhra,\n",
      "Nearest to states: koontz, silky, nash, warner, equine, exhaust, tsarevich, bumped,\n",
      "Nearest to of: opencyc, roma, fujiwara, fusing, glaring, intellect, decryption, afewerki,\n",
      "Nearest to called: propellers, asimov, whipped, corneille, baptized, marque, grover, demme,\n",
      "Nearest to many: stifled, pow, prismatic, transplantation, iai, stone, skilful, utilized,\n",
      "Iteration: 2000\tAverage loss at step  2000 :  132.792387952\n",
      "Iteration: 4000\tAverage loss at step  4000 :  63.1660712173\n",
      "Iteration: 6000\tAverage loss at step  6000 :  42.3154814742\n",
      "Iteration: 8000\t\t\t\t\t\t\tAverage loss at step  8000 :  31.2054532669\n",
      "Iteration: 10000\tAverage loss at step  10000 :  25.8259201019\n",
      "Nearest to on: in, and, of, aquarius, amoeboids, rg, saad, cracks,\n",
      "Nearest to have: are, had, transcendental, is, by, achilles, and, be,\n",
      "Nearest to which: and, two, astatine, marvin, altaic, also, navigator, it,\n",
      "Nearest to in: and, of, on, aquarius, ales, by, chloroplasts, nine,\n",
      "Nearest to if: are, and, or, means, shocked, antebellum, available, donohue,\n",
      "Nearest to system: flapping, mutation, esperanto, triple, ancestor, lawrence, sculpture, diogenes,\n",
      "Nearest to his: reveal, the, coincidentally, and, leger, fascists, katherine, bordering,\n",
      "Nearest to war: prison, division, proletariat, kyu, kierkegaard, taste, amber, brownian,\n",
      "Nearest to would: could, forget, can, sharpe, armaments, unarable, buchan, macs,\n",
      "Nearest to a: the, of, three, snowball, and, one, atomism, recursive,\n",
      "Nearest to over: bicycle, reagents, fao, hostage, greenwich, carbonic, ankara, today,\n",
      "Nearest to four: three, eight, five, one, seven, nine, six, two,\n",
      "Nearest to states: and, the, united, skies, stresses, propositional, bremen, sanhedrin,\n",
      "Nearest to of: in, and, the, for, aquarius, chattanooga, burrows, astatine,\n",
      "Nearest to called: liege, cruel, bought, is, what, grimaldi, there, prostitutes,\n",
      "Nearest to many: some, jenny, corps, emigration, the, adolescence, classes, ufos,\n"
     ]
    }
   ],
   "source": [
    "num_steps = 10001\n",
    "\n",
    "with tf.Session() as session:\n",
    "    init.run()\n",
    "\n",
    "    average_loss = 0\n",
    "    for step in range(num_steps):\n",
    "        print(\"\\rIteration: {}\".format(step), end=\"\\t\")\n",
    "        batch_inputs, batch_labels = generate_batch(batch_size, num_skips, skip_window)\n",
    "        feed_dict = {train_inputs : batch_inputs, train_labels : batch_labels}\n",
    "\n",
    "        # We perform one update step by evaluating the training op (including it\n",
    "        # in the list of returned values for session.run()\n",
    "        _, loss_val = session.run([training_op, loss], feed_dict=feed_dict)\n",
    "        average_loss += loss_val\n",
    "\n",
    "        if step % 2000 == 0:\n",
    "            if step > 0:\n",
    "                average_loss /= 2000\n",
    "            # The average loss is an estimate of the loss over the last 2000 batches.\n",
    "            print(\"Average loss at step \", step, \": \", average_loss)\n",
    "            average_loss = 0\n",
    "\n",
    "        # Note that this is expensive (~20% slowdown if computed every 500 steps)\n",
    "        if step % 10000 == 0:\n",
    "            sim = similarity.eval()\n",
    "            for i in range(valid_size):\n",
    "                valid_word = vocabulary[valid_examples[i]]\n",
    "                top_k = 8 # number of nearest neighbors\n",
    "                nearest = (-sim[i, :]).argsort()[1:top_k+1]\n",
    "                log_str = \"Nearest to %s:\" % valid_word\n",
    "                for k in range(top_k):\n",
    "                    close_word = vocabulary[nearest[k]]\n",
    "                    log_str = \"%s %s,\" % (log_str, close_word)\n",
    "                print(log_str)\n",
    "\n",
    "    final_embeddings = normalized_embeddings.eval()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Let's save the final embeddings (of course you can use a TensorFlow `Saver` if you prefer):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "np.save(\"./my_final_embeddings.npy\", final_embeddings)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Plot the embeddings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "def plot_with_labels(low_dim_embs, labels):\n",
    "    assert low_dim_embs.shape[0] >= len(labels), \"More labels than embeddings\"\n",
    "    plt.figure(figsize=(18, 18))  #in inches\n",
    "    for i, label in enumerate(labels):\n",
    "        x, y = low_dim_embs[i,:]\n",
    "        plt.scatter(x, y)\n",
    "        plt.annotate(label,\n",
    "                     xy=(x, y),\n",
    "                     xytext=(5, 2),\n",
    "                     textcoords='offset points',\n",
    "                     ha='right',\n",
    "                     va='bottom')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABB8AAAQSCAYAAADnplJ2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVmX+//H3QQGJQHEGG7MELEdEdsQFV1TccgkjjTSX\nKMeaMGt+ltpU2jJt2tf8zrhMkaNZjJbLqNM2ruMuAoaKFGXc6eQUpqIiKOD5/UHcX1Exl/t4s7ye\nj0ePx32fc51zrgP0qPM+1/W5DNM0BQAAAAAAYBUXZ3cAAAAAAADUboQPAAAAAADAUoQPAAAAAADA\nUoQPAAAAAADAUoQPAAAAAADAUoQPAAAAAADAUoQPAAAAAADAUg4NHwzDeM8wjO8NwygwDCPHMIyk\n8/b1NAxjv2EYpwzDWGsYRnNHXhsAAAAAAFRPhmmajjuZYbSW9LVpmiWGYfxW0kZJ/SV9J+kbSQ9K\nWi3pJUldTNPs6LCLAwAAAACAaqm+I09mmub+874akkxJd0hqK2mvaZrLJMkwjKmSjhiG8VvTNL9y\nZB8AAAAAAED14vCaD4Zh/MUwjEJJ+yV9L+ljSW0kfVHRxjTN0yofCdHG0dcHAAAAAADVi8PDB9M0\nfy/pZkmdJS2TdPbn7wUXNC2Q5OXo6wMAAAAAgOrFodMuKpjlhSS2GobxgKRHJJ2S5H1BM29JJy88\n1jAMxxWhAAAAAAAADmWapnG1x1gSPlxw/haS9koaXbHRMAxPldeC2HepgxxZBBNwpKlTp2rq1KnO\n7gZwEf42UZ3x94nqir9NVFf8baI6M4yrzh0kOXDahWEYvoZhDDMMw9MwDBfDMPpIuk/SWkkrJLUx\nDCPeMAx3Sc9J+oJikwAAAAAA1H6OrPlgqnyKxUFJRyW9Lulx0zRXm6Z5RNI9kv70875olQcTAAAA\nAACglnPYtIufA4bul9m/TlJrR10PcIbu3bs7uwvAJfG3ieqMv09UV/xtorribxO1kVHd6isYhmFW\ntz4BAAAAAIDymg/XUnDS4UttAgAAAAAAnI/wAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAA\nAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAA\nWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrw\nAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAA\nAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAA\nWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrw\nAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAA\nAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAA\nWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrw\nAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAA\nAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAA\nWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrw\nAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAA\nAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAA\nWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrw\nAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAA\nAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAA\nWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrw\nAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQAAAAAAWIrwAQCAOsDLy0uSdPjwYQ0dOvSK2wMA\nADgC4QMAAHWAYRiSpKZNm2rJkiVX3L5CQUGB5syZY0nfLrRgwQIlJyffkGsBAIAbg/ABAIA6xGaz\nKSQkRFL5Q/4999yjfv36qVWrVnr66acvan/kyBHFxMRo+fLlmjVrlrp166bIyEiFhoZqy5Ytv3g9\n0zSvqZ8Xhh8AAKBmI3wAAKCOOf/BfvPmzTpy5IhuuukmzZ49Wzt37tRvf/tbmaapH374QS1atFB8\nfLw+++wzffPNN/r6668VFxenL774Qhs3blS7du0UHh6uadOmSSoPNwIDAzVq1CiFhITo4MGD8vLy\n0h//+EeFh4crJiZG+fn5kqTVq1erQ4cOioqKUu/eve3bAQBA7UP4AABAHfX999+rQYMG2r59uzIz\nM9W4cWOtXr1akyZN0unTpxUeHq4ePXpo4sSJevXVV3X77bfL09NTnp6emjdvnmw2m3bu3KnMzEzt\n2rVLmzdvliR9/fXXeuyxx7Rnzx41b95chYWFiomJ0e7du9WlSxe9/fbbkqQuXbpo+/btSk9P17Bh\nw/Taa68588cBAAAsVN/ZHQAAAM6RnZ2tn376SdHR0TJNU0ePHtWhQ4f0wgsvaOzYsSosLFTLli3t\n7T09PfX555/rn//8pyZPnixJSktLk2maKiwsVG5urm6//Xb5+fkpOjrafpy7u7v69+8vSYqKitKa\nNWskSQcPHtTQoUN1+PBhlZSUKCAg4AbePQAAuJEY+QAAQB1QVe2F1q1bKyMjQ5mZmerevbtGjx6t\noqIimaapW265RdnZ2fYRCSUlJfL19VVSUpJCQkIUFhZmP/arr77SmDFjJJWHFOdzdXW1f65Xr55K\nS0slScnJyRo/fryysrI0d+5cFRcXW3HrAACgGmDkAwAAdcClCjgGBQVp9erVys/Pl6+vr0pKSvTD\nDz/o6aefVv369fXCCy9o0aJF2rBhg+rXr68jR44oPDxcrq6uKi0tVf369VVYWChPT099//339pDh\nwqCjquDjxIkTuvXWWyWVF78EAAC1F+EDAAB1wIkTJyRJfn5+ysrKkiRNnjxZd955p3r37q1z587J\nzc1Nt9xyi3bt2qXi4mIZhqGlS5dq4MCBGjVqlDIyMrRnzx7FxcXptdde06xZs9SxY0dJkpeXlxYt\nWiQXF5eLgo6qVq54/vnnlZCQoMaNG6tHjx7Ky8uz7gcAAACcyrjWJbCsYhiGWd36BABAXZefn6+8\nvDz5+/vL19e3xp0fAAA4hmEYMk3zqtfEpuYDAAC4rNTUxfLzC1Rc3Dj5+QUqNXVxjTo/AABwPkY+\nAACAKuXn58vPL1BFReslhUrKkodHrGy2HIeMULD6/AAAwLEY+QAAABwuLy9Pbm7+Kg8GJClUrq5+\nDqvPYPX5AQBA9UD4AAAAquTv76+zZ/MkZf28JUslJTb5+/vXiPMDAIDqgfABAABUydfXVykps+Xh\nEStv70h5eMQqJWW2w6ZEWH1+AABQPVDzAQAA/CJWuwAAANK113wgfAAAAAAAAFeEgpMAAAAAAKBa\nInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwA\nAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAA\nAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACW\nInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwA\nAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAA\nAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACW\nInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwA\nAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAAAAAAACWInwAANRK586dc3YXAAAA8DPCBwBAjWOz\n2dS6dWuNGDFCQUFBGjp0qIqKihQQEKBJkyapbdu2+uijj3TgwAH169dP0dHR6tatm7766itJ0ocf\nfqiQkBBFRESoe/fukqTs7Gy1b99ekZGRCg8P1zfffOPEOwQAAKhd6ju7AwAAXIsvv/xS8+fPV4cO\nHfTQQw9p9uzZMgxDv/71r7Vr1y5JUq9evTRv3jzdcccd2rlzpx555BGtXbtWL774oj7//HM1bdpU\nJ06ckCTNnTtXEyZMUGJiokpLS1VWVubM2wMAAKhVCB8AADVS8+bN1aFDB0nS8OHDNWvWLEnSsGHD\n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\nVIcPH1ZJSYkCAgLs5xk0aBDBg5Oc/zBumqbOnTsnHx8fZWRkOLFXV+eNN96Qh4eHHnvsMT3xxBPK\nysrS2rVrtW7dOs2fP1+bN29Wenq6GjdufMnjN27cqOnTp2vVqlVKS0vThAkTVFxcLA8PD82fP18t\nW7bUggULtGLFChUWFurrr7/WH/7wB509e1bvvfeeGjRooI8//liNGjW6wXcOAEDdw7QLAKiD3N3d\n7Z/r1auno0eP2h9cMzMzlZmZqb1790qSkpOTNX78eGVlZWnu3LkqLi62H+vp6XnD+w6pa9euWr58\nuc6cOaOTJ09q1apV8vT0VEBAgD766CN7u6ysLCf28pd17dpVmzZtklQ+haKwsFBlZWXavHmzunbt\nWilgqUpFm9atW2vTpk1KT0/XtGnTNHnyZHubffv2acWKFdq5c6eeeeYZ3XzzzcrIyFCHDh20cOFC\na24OAABUQvgAAHXQhYV9vb29q3xwPXHihG699VZJ0oIFC25cJ1GliIgIDRs2TKGhobrrrrvUrl07\nSdL777+vlJQUhYeHKzg4WCtXrnRyTy8vKipK6enpOnXqlNzd3dWxY0elpaVp06ZN6tKly0V/p5dz\n/PhxJSQkKCQkRE888YSys7Pt+2JjY3XTTTfp17/+tRo1aqQBAwZIkkJCQpSXl+fo2wIAAJfAtAsA\nqIMufKNsGIbef/99jRs3Ti+99JJKS0t13333KTQ0VM8//7wSEhLUuHFj9ejRg4e1amLy5MmV3u5X\n+OSTT5zQm2tTv359+fn5af78+erUqZNCQ0O1fv16HThwQIGBgVd1rmeffVY9evTQsmXLZLPZFBsb\na993/kgfwzDs311cXFRaWuqYmwEAAJdF+AAAdYyfn1+l4fh/+MMf7J8v9eA6aNAgDRo0yP49Pz9f\naWlpevTRR1k2sZqpiUtadu3aVdOnT9f8+fMVHBysJ554QtHR0Re1+6VREAUFBWrWrJkkaf78+Zb0\nFQAAXDumXQAArlhq6mL5+QUqLm6c/PwClZq62Nldws9q6u+mS5cu+u9//6uOHTuqSZMm8vDwUJcu\nXSRdeoWLqjz11FOaNGmSoqKidO7cuSrbXUkdCQAA4HjG1cynvBEMwzCrW58AAOVv1f38AlVUtF5S\nqKQseXjEymbLqTFv2WsrfjcAAOBGMQxDpmledZrPyAcAwBXJy8uTm5u/yh9uJSlUrq5+1ICoBvjd\nXLmKaUP5+fnO7goAAHUK4QMA4Ir4+/vr7Nk8SRX1IrJUUmKTv7+/8zoFSfxurlRNnZoCAEBtQPgA\nALgivr6+SkmZLQ+PWHl7R8rDI1YpKbMZ1l8N8Lv5Zfn5+UpKelRFRetVUJCuoqL1Skp6lBEQAADc\nINR8AABclZq4okJdwe+mamlpaYqLG6eCgnT7Nm/vSK1ZM++Sq2sAAIBLu9aaD4QPAACg1rOqKGfn\nzp21efNmh/UTAIDqjoKTAAAAVbBqagrBAwAAV4bwAQAA1AmJicNks+VozZp5stlylJg47LrP6eXl\npdOnT6tXr15q27atwsLCtHLlSkmSzWZT69atNWbMGLVq1UojRozQ2rVr1blzZ7Vq1Uq7du2SJJ0+\nfVpJSUlq3769oqKitGrVKklSdna22rdvr8jISIWHh+ubb7657v4CAOAsTLsAANxwAwYM0AcffCBv\nb+8q2zz//PPq1q2bevTocdXn37hxo6ZPn25/iAOs4u3trePHj+v06dO6+eab9dNPP6lDhw7Kzc2V\nzWZTy5YttXv3bgUFBalt27YKDw/XO++8o5UrV+pvf/ubli1bpmeeeUZt2rTR/fffr4KCArVr1067\nd+/W008/rY4dOyoxMVGlpaUqKyuTu7u7s28ZAFDHXeu0i/pWdAYAgKqYpqnVq1f/Yrtp06Zd13UM\n46r/mwhcE9M0NWnSJG3atEkuLi76/vvv9eOPP0qSAgICFBQUJElq06aNevbsKUkKCQlRXl6eJOnz\nzz/XqlWr9MYbb0iSzp49q++++04dO3bUyy+/rEOHDik+Pl533nnnjb85AAAchGkXAACHevPNNxUS\nEqLQ0FC99dZbstlsCgwM1KhRoxQSEqKDBw8qICBAR48elSS9+OKLCgwMVNeuXXX//ffrzTfflCSN\nGTNGy5Ytk1T+ADd16lRFRUUpLCxMX331laTyFQw6deqkqKgode7cWbm5uc65adRZpmlq0aJF+umn\nn5SZmanMzEw1adJExcXFklRppIKLi4v9u4uLi0pLS+3nWLp0qf34b7/9Vq1atVJiYqJWrVqlBg0a\nqH///tqwYcMNvz8AAByF8AEA4DAZGRlasGCB0tLStG3bNr3zzjs6duyYcnNz9dhjj2nPnj1q3ry5\nfVRCenq6li9frqysLH388cf2OfCX0qRJE6Wnp2vcuHH2N8StW7fWpk2blJ6ermnTpmny5Mk35D6B\n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\nOJMmTcLQ0BBTU1MWL16MsbExISEhpKenk5uby/jx43FwcGD16tX83//9H9OnT8fU1JSNGzfSs2dP\nDh8+jIuLC4aGhsyePRtra2tOnTpV5DgF/axSpQrffvstr732GtWrV6d169bcvHnzifqu1WrZsGED\niYmJ3L17F41Gg4eHB6NGjeLbb7+lUaNGxMTEMGbMGCIiImjdurU+qBIWFsbnn3/O7NmzGT16NObm\n5kyYMAGAZcuWkZqayqFDhzh16hTdunWjV69eT/Eqlx53d3fc3d0fuX1ubi5GRkal2KOnc+XKFVJT\nL6GU9s98LO+wa9dizp/XVZilJKtXr2bu3LkYGhri7OyMkZERkZGRzJ07l4sXL/L555/Tq1cvMjMz\n6d69O9evXyc7O5uPPvqIbt26odPpCAwMpFWrVkRFRemDelWqVCE2NpYRI0ZgZGREhw4d2LVrF8eP\nHycvL4+pU6cSGRnJnTt3ePPNNxk5cmR5vxRCCCHKicHTZhwvaQYGBqqi9UkIIYQoKV9++SXXrl3j\ngw8+AGDixIlYWlry8ccf06xZM/0SkOzsbE6cOMGJEyd45513uHDhAtnZ2djZ2fHjjz8SGhpaJPgQ\nFBREQECAPpdFzZo1SU9PL7Vx6HQ6OnfujI+PD1FRUXh6ehIUFMSMGTNIS0tj3bp1KKUYP348t2/f\nxszMjBUrVtCkSRMiIyOZM2cO27dv59q1awwfPpzk5GSqV6/OkiVLcHR0JDQ0lLNnz5KcnIyNjQ3r\n1q0rtbE8rW3bttGzZz/y8rL+fGQuVarM4cCBbXh6epZr3yA/Sezrr79eJEns22+/za1bt1i/fr0+\nWJWUlERubi5ZWVnUqFGDK1eu4OPjQ1JSEjqdrshyp379+tG9e3cGDhyIk5MTy5Ytw9vbm2nTprFz\n504SExNZunQpaWlpvPvuu9y9exdfX182bdqEjY1Neb8kQgghnoKBgQFKqce+kiQzH4QQQpS6tLS0\nSl/NoCTHUHjmh1KKvLw8LC0t9aVICwsJCWHixIl06dKFyMhIQkNDi91v4XwVZRHIP3v2LJs3b8bB\nwQEPDw/Cw8M5ePAg27Zt4+OPP2bNmjUcOHAAQ0NDIiIimDZtGps2bQL+eg1mzJiBRqNhy5Yt7Nu3\njyFDhhAfHw/AqVOnOHToEKampqU+lqfRsGFDlMomPx+LM3Ce3Nz0Ms/HUpziksT26NEDAHt7ey5d\n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\nxbbdvn07p06dYvLkyWXYQyGEeDyy7EIIUSn5+/uj1WrLuxtl4saNG0UqGOh0Ov1z586dIzo6cpJL\negAAIABJREFUGoDw8HBatWrF7du3MTAwoE6dOty8eZNNmzYVt2v9SXunTp1YtGiRPhiRlJTErVu3\nOHfuHFZWVgQHBxMcHIxWq8XHx4dDhw7pkxBmZWXpgwGPo6AsZEZGhr4sZEGQpHr16kX6WNDPB/X/\nyJEj+tKS586do3r16kyZMoWwsDCysrLw9fXl119/fez+lbSCZIVmZv5YWGgwM/Mv02SFpVkmsmhg\nBR4nsPI02woBD15K9CwsjSnIj1OvXr37Ag8LFizAwcGBIUOGAPmVdCTwIISo6CT4IIR4bMWdCJa0\n3NzcMjlORWZoaMigQYOIjY3FxcWFtWvXYm9vr3++adOmfP311zg4OHDt2jXGjBlDzZo1GTlyJM2b\nNycwMBAvLy99+3uTPRbcHzFiBA4ODmg0GpycnBg9ejS5ubns378fV1dXNBoNGzZswMbGhi5dumBi\nYkKLFi1wcXGhRo0aTJ06FUdHRwICAoiNjcXf35/GjRuzY8cOAFatWkWPHj3w9/fn5s2bfPjhh/qy\nkDVr1tQHVXr37s2IESM4c+YMkB+gCA0NJTw8nOHDh5Odnc3mzZv1/Q8ICNCX4YO/roomJyfTvHlz\nJk+ejKenJ6dPny52vXhZKs9khaV5kv80gZXyDsqIyq20krhWJDqdDicnJwB8fHw4deoUixcvZs+e\nPfzxxx/Ex8ezatUqQkJCAAgKCmLcuHH4+vrSuHFj/v3vfwP5f7vHjh2Lg4MDnTp1okuXLvrnhBCi\nTDzJWo3S/EFyPghR4aSkpKimTZuqoUOHKkdHR7Vq1SrVokUL5e7urvr27asyMzOVUkpNmTJFOTg4\nKBcXFzVp0iSllFJpaWnq9ddfV15eXsrLy0u/Dj8mJka1bNlSaTQa5evrq3799VellFIrV65U3bp1\nU+3atVNt27ZVSin12WefKScnJ+Xq6qqmTZumlMrPXTBlyhTl5eWlmjZtqg4ePFjWL0upu3z5srK1\ntS32+ZSUFOXo6Fhm/Tl16pTq2rWrunDhgoqJiVFBQUFq9erVytDQUP33v/9VSinVs2dP1alTJ5Wb\nm6sSEhKUq6urUir/fa1fv766du2aMjc3V46OjioiIkK1aNFCGRoaquHDhytbW1tVrVo1dejQIeXk\n5KQ/Xk5Ojlq6dKmqVauWaty4sXrjjTfUe++9p5TKf4369eunnJ2dVfPmzdWYMWOUUkqFhIQoR0dH\n5erqqgYOHKju3r2rsrOzVfv27ZWrq6uaP39+mb1uFUlBzofSWgt/6dIlFRMT80T5Gp5mW/F8etbz\nhTwoD8b8+fOVu7u7MjU1Vfb29qpu3bpq+PDhys7OTllZWalt27apN954Q9WrV08dP35cnTx5UlWp\nUkV99NFHauPGjapJkyYqLCxMpaamKktLS7V58+byHKIQopJCcj4IIUrTb7/9xpo1a3jllVfo1asX\nERERmJmZ8fnnnzNv3jzefPNNtm7dyunTp4G/1u+OGzeOCRMm0LJlS/73v//RqVMnTp48ib29PQcO\nHMDQ0JCIiAimTZumXx4QHx/P8ePHqVmzJv/5z3/Ytm0bsbGxVKlShevXr+v7VFC1YdeuXXzwwQfs\n3r277F+YUnLhwgXatm3LpEmTHtrucctWPo2IiAgOHTpE/foNMTAwRak7ZGTcxNTUlICAAACcnJyo\nWrUqhoaGODk5FVki0rFjR2rVqsWNGzeYMWMGJ06cICoqCgsLC8LCwoiMjOTDDz+kZcuWJCYm8vXX\nX6PVavH09CQnJ4cXX3yRfv36odVq6dGjB5BfWvL777+/r6+FZ0MUtmfPnlJ4ZSqPAQP60aFDu1Jb\nC29lZfXE+3yabcXz6XnMF9KnTx+WLl1KgwYNGDJkCDt37qR9+/b4+fkRFRXFxIkT8fLyok2bNhw4\ncIDBgweTk5PDoUOHuHLlCkZGRrRu3ZoXXngBf3//8h6OEOI5I8EHIcQjKUgAuHPnTk6ePImvry9K\nKbKzs2nZsiUWFhaYmZkxcuRIXnvtNf7xj38AxScEvH79OkOHDiUpKQkDAwN9rgHIP0ktSC64Z88e\ngoKC9EkSa9WqpW/Xq1cvANzd3Yuc5D4L6tWrp196UJzCidnKQkZGBjdu3EIpLUrlJyzcudMfY+O/\n/pQYGhrq36t739filnwUdm+uh2HDhvHxxx8zadIk9uzZw4YNGwgICKB79+6P1Of09HS+/fZb/P39\nOX/+PMuWLWP79u33tRs1ahQTJkygWbNmD91fZGQkc+bMeeA+Kgs5yRdlZfr06dStW1dfGve9997j\nxRdf5K233iqR/Zd3EtfyUL9+ferUqcP169fZunUrmZmZfPrpp6Snp3Pr1i1q1KhBZmYmHh4eREZG\n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\nHh4e+hOYyMhI/Pz86N69Ow4ODsyYMYMFCxbo+/Lee+/x1Vdfld4LVgGUVlBOp9PRrFkzhg0bxief\nzOTw4b2lGuT4O3369NEn042NjcXLy6vM+1BSevfuzcaNG1m/fj39+/cv1WPdu0xvzJgxTJ8+nXHj\nxuHl5YWxcdGJwM7OzrRt25aWLVsyffp0XnzxReDBQe/58+fj5OSEq6srpqamBAYG3temYLuHLQ1c\nvnw5Y8eORaPRlPTwhRCi4lBKVaif/C4JIUTJuHTpkjIzq60gQYFSkKDMzGqrS5culcnxU1JSlJOT\n00Pb7Nu3T/3jH/8ok/6Iv/fDDz+obt26KaWUOnXqlDI2NlZjx45VNWrUKNLO1tZWXblyRSml1MqV\nK1VISEiR52rUqKFyc3NVcnKysrGxUe7u7qpx48ZKqfzPhYmJiUpMTFRKKdW3b1+1bt06pZRSbdu2\nVR988IEKCQlRly9fVnZ2dkoppW7duqXu3LmjlFIqKSlJeXh4KKWU2r9/v6pRo4bS6XT6fbu5uSml\nlMrLy1ONGjVSV69eLfkX6jmQkpKijIyMVExMTHl3RV26dEnFxMSU2XdXafvll19Uy5YtVdOmTVVq\namqpHSclJUU5OjqW2v6FEOJ59Oc5+2Of68vMByHEM+3vEsU9qAzb7du3iYiIQKPR4OLiwogRI8jO\nzgbAzs6OKVOm4OzsjI+Pjz53RFBQEP/+97/1xzU3N7+vL8VduZ42bRoHDx5Eo9Hw5ZdfFinjdu3a\nNXr27ImLiwstW7bkxIkTQH6CtuDgYPz9/WncuDELFy4s+RfvOdW5c2dOnTpFlSpVaNWqFXXq1AHy\ng/WBgYF4enrSpk0bfbnWS5cusXDhQsLDw3Fzc+PIkSMYGBiQnZ2Nj48PXl5enD9/nosXL3L+/Hlq\n1KjBrFmzMDAw4J133iE2Npa4uDhCQkKKJKM8d+4c3bt3548//uDDDz8kOzubESNG8NJLL+Hi4oJW\nq2XMmDEopfDy8qJ58+ZMnDiRHj16YGJiQkJCAj/99BMajQZLS8tyeS2fBTY2Nvpp9+WlPGdvlRYH\nBwcyMjJo2LAhL7zwQqkeqzLkU3hWlgYKIcTDSPBBCPFMe5Rs+PeWYZs7dy5BQUEsX76c0aNHk52d\nXSQzu6WlJYmJibz55puMHDmyyJKJAvf+s6vT6ejSpQt79uwhLi6O77//npCQEAA+/fRTWrdujVar\n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\nBpRcIHfx4sWcOHECnU6HnZ0dK1asKPQ8I0eOxMbGBicnJ7RaLWPGjCn0f5n32KNGjaJTp06q4KTK\nC4+aalNFReWJyM7ORk+vdO2Yhw8fplu3blSsWJGKFSvi5+dHamoqR48epU+fPkrHJe/MWcGsAZ06\ndVJifbOzs/PFAed2kA8cOMD8+fO5d+8eCQkJ2NnZ0blzZwBlRtrZ2VmJFVZ5PBYtWsTXX38N5Lgt\nf/nll0oMNeTcu9z42P379/Prr78q9zg3xvZJ3eLzdrwNDQ1p1aoVYWExgMnfW1whOzux0Pj6gp3j\ntLS0R4rX9ff3p2vXrvTs2TNfKsX09AvodFYcO/bLE9WtPFPUoL9fv3707duXkJAQJRzB3/91MjOH\nk5V1jxo1qvPll1/y3Xc/INKUHMPEKiZMGEjlypXx8vLixx9/pFmzZkqYi76+Pv/73/9wcnLi1q1b\nHD16VAmViYmJKbQcT0p8fDwdO3bE2dmZiIgI7OzsCAwMxMbGhn79+rF//36mTJmCpaUlY8aMITU1\nFQsLC9auXYupqSlhYWFKylFfX1++//57Tp48SWBgIDt27CA5OZns7Gz27NlDt27dSExMJCMjgw8/\n/BA/Pz+uXLnCn3/+ia+vL+fOneP+/fvcuXOHQ4cO0a1bt2Lj60syKMxrwClu4NixY0c+//xzbG1t\nsbS0pEWLFjRr1ox69eoxePBgXnrpJcaNG8fmzZs5d+4cW7du5f333+fAgQMsW7aMrVu3Ym5uzq5d\nu5RzFcyMceXKlXxaFJ6enmRmZhISEoKhoSF37tzh1q1bZGdns27dOkJCQli4cCGenp789NNPuLq6\nKtowIsKNGzeUmP7cNsjR0ZHExERcXFyU7W7evMn58+dp1KjRc63zU5gBCP4xBBgbG3P37t2HHsfK\nyor4+BzjX+PGjZX2HHIMteHh4XTo0CFf+ESrVq0ICgpiypQp7N27l8TERGVdUe3onDlz8qUsflym\nT5/O9OnTi1y/du3afL/zeiPUqFGDLVu2PLDPrFmz8v3WaDTMnTuXuXPn5lvu5eWFl5eX8nvJkiWK\n8blfv36MHz/+keqiolIeUT0fVFRUiqWo9GWTJk3C0dGRY8eOERERgbe3N66urnTq1EmJh129ejVu\nbm44OjrSp08fZeZj69ataLVaHB0dlU5KcRQ2S5KdnU21atWIiIhQ4ipPnTqlbFNwcJrbcdZoNPk6\nyLmp+dLT03njjTfYsWMHMTExjBw5Mt9MTe7+aozmk1HYbJuVlVWRHc7iYmyfhIId7/DwcKZOfQuN\n5k+Mjb0xNPycl1+ug7GxMSkpKezcuZPWrVsrZSpI1apVMTExITQ0FKDQDmpBCqZSTEsLISbm93+1\nB0RhAqEAvXr1IisrSxHnHDCgH5cuneWXXw5w/fp1Ll26xKxZszAx0QG/AiFABypUMOPgwYMsWLCA\nkydPsn//fmrUqAHkFxutUaMGx48fLxMPlDNnzjB+/HhiY2MxMTFh2bJlaDQaatasyYkTJ+jbty9D\nhgxh/vz5REVFYWdnx5w5cwAYPnw4K1euJCIiAn19/XzGmsjISHbs2MFPP/2EkZERX3/9NSdOnODg\nwYO88847ynZpaWlcvHiRr776iqSkJIKCgujSpQvz588nKSkJKPnAsyAlNcBVrFiR7777jtOnT7Nj\nxw4OHDiAp6cnZ8+e5dy5c8TExDB16lSioqJITU2lT58+GBoa8ssvv/DXX39x8uRJxfBQ8FnJpU6d\nOty4cYOEhATS09OV1JrFzbrnUlAktqC7/fDhw7G0tCQuLo6UlBS6devG999/T0JCAjqdO+3ajcHM\nzIrNm4NKdD2eBR07dizUWyT3mapevTotW7bE3t4+X5rRXHK3MzQ0ZN26dfTu3RudToe+vj6vv/46\nADNnzuTNN9/Ezc0NA4N/5jtnzZrFvn37sLe3Z/v27dStWxdjY+N8x32RyJu2NG/K0s2bgzAzsyoX\nz4uKytNCNT6oqKgUS2GCVCkpKXh4eBAZGYmbmxsBAQFs376dsLAw/P39effdd4GcAUNoaCiRkZFY\nWVmxZs0aIEdbYe/evURGRiodyOJo1aoVu3fvJj09neTkZPbs2UPlypUxNzdn27ZtynYlna0srLOZ\nlpaGRqOhRo0aJCcn5ztuSfZ/XsmbNz08PJyJEycWuW1Z5HEvbLYtJSWFn3/+maSkJDIzM/PNkJU0\nxvZRKazj3bZtG155pQE7dvyXS5dydB1cXV3x8PBg9OjR6HQ6oOjO8erVqxk1ahROTk7cu3dP8eT4\n4osv0Ol0ODo6MnToUDQaDSEhIfj6+pKengKc+/sIpqSn3yMuLo7AwEB69epFp06dsLS0zNf537dv\nHy1atMDFxYV+/fopscTTpk3D1tYWBwcHpkyZApRMMyMwMJCAgICncl3zqtuXNY+SHaJgqEtZDgIa\nNmxI8+bNAXjttdeUUIJ+/XL0HO7cuUNSUpJiaMmNoX9YaE+7du2UZy47O5vp06ej0+nw9fXl6tWr\nXL9+HYD69etz69YtPDw80Ol0mJiY0Lp1a7RarWJYLenAs7jvT4uiwpIeFq5kYGDAzJkzcXV1pX37\n9lhbW6PRaIp1q8+lMJHYXHf7V155he3bv+HatSqkpUFycgparfbvDDYa0tJ2kZQUTmrqT4wYMe65\nNSYWZgDy8vJSDICQk40nJiaGefPm4eXlle99vWTJEoYMGQL8IzoaHR3N6tWrFQN/q1atOHPmDKGh\noXzyySccPHgQAFNTU3744QdiYmLw9/enTp06VKhQATMzMw4cOKDc17S0NDZu3IinpydnzpwBct4B\nHh4eODg40KtXL8VgVpQG1KNOdpQGebPHiAgajeYB4/Pz/ryoqDw1Hic/Z2l+coqkoqLyvDBr1izR\n6XSi0+mkatWqcuzYMalQoYKSu/zUqVNiYmIijo6O4uDgIPb29tKxY0cRyckL3rp1a9FqtdK4cWMZ\nO3asiIiMHTtW2rVrJ6tWrZJbt26VqBxz5swRS0tL8fT0lN69e8vq1aslLi5OOnbsKDqdTmxtbeXD\nDz8UEcmXs1skJwf3woULld9583bnXZeb171Vq1YyfPhwmTNnjoiI+Pj4SHh4uIiI3Lx5U8zNzR/r\nWj4LHiVvelnkcU9PT5dOnTqJjY2N9OjRQ3x8fCQkJERWrVolzZo1k+bNm8uwYcNkxowZIpJzvfv1\n6yf29vZia2urPEPPI8nJycr3jz/+WCZOnCinT58WKysrJX97QkKCDBs2TPr27SvXr18XQ0NTgYYC\nIvC9aDT6cv36dVm/fr1YWFjI3bt3JS0tTczMzOTy5cty8+ZN8fT0lHv37omIyLx58+TDDz+U27dv\ni6WlpXL+pKQkESk6L31e1q9fLwEBAU/lGpibm5f4P/0kbNq0RYyMqoupqZMYGVWXTZu25FtuYuKY\nb3lx+37++UoxMqouEP33fYgWI6Pqcv369ade7ri4ODEzM1N+Hzx4UHr06JHvuiUlJeXb5vz58+Ls\n7CwJCQn5lsfExCj/7YL3cP369dK/f3/JysoSEZFGjRpJfHz8A+3BsGHDlLbyUdqKsuJh97ng8tLm\n+vXrDzwrhoZVJTY2VkJDQ8XU1Onv5TkfExNHCQ0NLZOylSfOnj0rjo6OotPpxM3NTU6cOCEi+e+r\noaGJNGzYUNLS0uTOnTvSpEkTWbBggdjb28uhQ4dERGTmzJny1ltviYhI27Zt5dy5cyIicvz4cWnT\npo2IiGi1Wrl69aqI/NMuljX9+/eXl156SRwdHcXNzU28vb2lTZs2oqdnKDBIeV4qV7YUJycncXFx\nkY4dO8pff/0lIiLe3t7y1ltviYuLi9jY2EhYWJj07NlTmjVrprwrVVTKmr/H7I8+1n+cnUrzoxof\nVFSeH3KNB2lpaSKS8wIMDg7ON3g/efKktGjRotD9zc3N5eTJkyKS0xn29/dX1oWGhsrMmTOlUaNG\nysCsOHIHdvfu3RMXFxeJjIx87Ho9KtevX5fQ0NBSGYwUx4YNG8TNzU0cHR1lzJgxkpWVJVWqVJH3\n3ntPdDqdeHh4KGU6f/68NG/eXOzt7WXGjBlSpUoVEck/oAgODpYuXboo3x0cHMTR0VGcnJwkOTlZ\ngoODxdvbW3r37i1WVlYyaNCgMqtr7v3NzMyUrl27ytdff11m535a5BpQrK2tpUuXLnLz5k1ZunTp\nA53DYcOGyaZNm0Qkp7MNGjExcRRDQ1N55ZWGIpLzfxk9erSyz6uvvipHjhyRPXv2SM2aNRVjn62t\nrYwaNUoyMzPFwcFBRo4cKTt27JD79+9LSkqKVKxYUYyMjKRSpUrSqFEjqVOnjri7u4tOpxN3d3dJ\nTk6W9evXS8+ePaVjx47SrFkzmTJlinLeTZs2iVarFa1WK1OnTn3o8kaNGpW68aGwAWBeY0Fx/9ei\nBo/GxtoyGTTGxcWJRqORY8eOiYjIqFGj5L///e8DRhsHBwc5fPiwiOQYSN9++20RyRlIHT9+XERE\n3n333SKND4sXL5Y333xTRHIMHBqNRjE+2NnZKdsVND7kXfc4PM22sqj7HBsbW2bGooIUZmCApmJo\naFKmRqwXkQfv9xQxMKikXL933nlH5syZU6hhLjk5WYyMjJR2MbdtFBEZM2bMI092PG0KvoerVq0q\nJ0+elEqVqgnoBI4IhIuenoH89ttvIiISFBQkw4cPF5Gcvte0adNEJOe/Xb9+fbl27Zqkp6dLgwYN\nStSHUlF52jyu8UENu1BRUSmShwlSAVhaWnLjxg1lXWZmJrGxsUCOOGDdunXJyMhQUplBjnukq6sr\nc+bMoXbt2vlyfBfF6NGjcXR0xNnZmT59+uDg4PA0q1okzyom87fffiMoKIijR48SERGBnp4eGzdu\n5N69e4WmspswYQJvvfUW0dHRNGjQoEj359zlCxcuZNmyZURERHDo0CGMjIyAkqXTKw1mz56No6Mj\nWq2Wxo0b061bN6D8ZILYvDmIN9+cyrVrVYiLu8bAgYOoUaOG4mJbkFwNkQED+lGlSmX271/B0aMH\nqVrV9IFt4B9tEhGhffv2itbJqVOnWLlyJfr6+oSGhtKrVy/27NlDx44d+eGHH9DT0yMxMZHU1FSi\no6OpXLkyy5YtIyoqiv3791OpUiUgx5V569atxMTEEBQUpAgTTps2jeDgYKKioggLC2PXrl1FLi8r\n4uLiqFixEWD/9xJ7KlQwU4Rji8sOUdi+FSs24v79eEoSrvE0sLS05H//+x82NjYkJibmS+ubS2Bg\nIJMmTcLBwYHo6GhmzpwJ5KSkLSy0pyCvvfYaYWFh6HQ6NmzYgLW1tbKupMr+j8rTbiuLus+hoaHF\n3v/SpLDQHrhFevo3vPXWND799GOMjHwwMXHCyMiHNWuWPdeik88TD97v+ujrV1Xua95+R0GK04Ba\nvnw5c+fO5dKlSzg7O5OQkFCq9SgJbm5u2NnZsXbtcvT1f8PIaCCGhj4YGlZgwIABODo6MnfuXK5e\nvars4+fnB+SIZNvZ2VG7dm0qVqyIhYVFifpQKirPDY9jsSjND6rng4rKc0NBF/k2bdo84PkgIhId\nHS2enp6i0+nEzs5OVq9eLSIiy5cvF3Nzc3F3d5c333xT8Xzo2bOnMmua6zL5PPKwGdbSoGXLliIi\n8tlnn8nLL7+szORYWVnJnDlzpFKlSsq2QUFBMmrUKBERqVGjhuJifefOHeUeFZxxyQ2r+Pjjj8Xd\n3V2WLFkily9fVta3b99eOf7YsWNl48aNpVbXh/GsXKsfleKek9OnT4ulpaUy43b79u18s80iUqiX\nSsGZ7C5dukhISIjcuHFDzMzMFPfie/fuye+//y7JycnKc5mYmCg1a9aU33//XapUqSI+Pj5y6NAh\nOXnypDg4ODxQ/qK8LL755hsZOnSosnzNmjXyzjvvFLlc5PnwfHicfXNnrYsL13gaPKl3QWGhPc8D\npdFWPo+eDyI57ZKhYVWBpgLVBbbk85Z5Vp5y5Z0H7/cW0Wj05dKlS3Lnzh1p2rSpLFiwoEivoJYt\nW8rWrVuV40VHR4tIjndELm5ubsrysqSo97CIyIgRI2TWrFkSEhJSpBept7e3EvpZcP+861RUyhIe\n0/NBTbWpoqJSJLmCVAXJqwIOYG9vT0hIyAPbjRkzptBZvbyCgs8zuTMxqakPzrA97dms3JSlueJz\nIsLQoUMfSNW1YMEC5XvezBt5ZyylmBmiXKZOnUqXLl349ttvadmyJXv37gVKN8f6o5BXjCvn+scw\nYoQPvr5tnruZxOKeE1dXV9577z28vLwwMDDA0dHxsWabc7epWbMm69evZ8CAAaSnp6PRaPjoo48w\nNjamW7duSoaWTz/9lKZNmxIdHc1rr71Gx44dqVy5Mvr6+oUevygvi8KepaKWlxW5qTZHjPChQgUz\nMjLiSzzDXNS+Awb0o2fP7sTFxZV6isQn8S749ttv+b//+z8yMzNp1KgR69evf6Ky3Lhx46nUuTTa\nyqLulbW19WPf/6fBgAH9cHCwx9GxOenp3wDe5PWWqVWr1nPXRpUHCrvffn59aNu2LXXq1MHNzQ2N\nRkNgYCCvv/46qampNG7cmHXr1gGwceNGxowZw0cffURmZib9+/fH3t6eyZMnK6mbfX19sbe3L64Y\npULe7DEF204jIyMaN26Mh4eH4kXavHlzMjMz+f3337GxsSnz8qqolCqPY7EozQ+q54OKygtNeZoV\nenAmxkc0Gn2xtraWVatWiUjOrPXkyZPF1tZW2rVrJ6GhoeLt7S0WFhaye/duERHJysqSyZMni5ub\nm+h0Olm5cqWI/KOp4efnp4gF5s6Cx8bGSs2aNcXa2locHBxk4sSJEh8fL4aGhuLq6ioODg7SvHlz\nGTJkiIiINGjQQDp27CgtWrSQWrVqiZGRkYgUPeOSdzaod+/e8s033zwwozJ+/HgJDAwstetbHOVJ\nvO1ZeMiUhKtXryp6LXv27JFXX31VLCwsJCwsTERE7t69K5mZmUV6Wfz555+KJ0NmZqb4+vrKrl27\nCl2e+6yXhedDLk/SlpSndqi0eJqeRaX5HyjqXj3re1gScVOVR+dZ39fS4rXXXhOtVitubm753rMB\nAQHKe7YoL9K8otcF39N516molCWogpMqKirPO+XFjT4veTuYlSpVlU2btkhqaqrY2dnJrVu3RKPR\nyI8//igiIj169JAOHTpIVlaWREdHKy7uK1eulLlz54pITiiLi4uLxMXFSXBwsFSpUkXi4+OV8+WG\nS3z33XdiaWkpOp1O7O3txdHRUY4dO6YYJ0REevXqJc2bNxeRnFCW6tWri06nkxEjRoiBgYGIFG18\nCAgIEDs7O9HpdDJw4EC5f//+A52avJ2isuZ5HdAXxfM4EPnxxx/FxsZGmjVrJk5OThIeHi4nTpyQ\n5s2bK4KlKSkpDxgfunbtKiEhISIisnnzZiVEKlfwrLjlZZXtQuXJKI3/1/P4HyhtXtSB8ovCi3p/\nXtR6qZQvVOODiorKc015G0zmJfdFP2nSpAfSjubVYJg5c6b85z//ERGR7OxsqVatmojkeBZYWloq\nKtyNGzeWffv2SXBwsJIOLJdc48M777yjzHrkJSQkpND0pYMGDVIyKGzZskUxPpRnyttgpqw7hImJ\nibJs2bIi1z+usW/9+vXy559/Kr/L0ptBpWwoLc8idVCk8rxQHic7SsKLWi+V8sfjGh/UbBcqKipl\nwsMU6p9natWqxb179zh+/DjHjx8nKioKBwcH0tLSqFChgrKdnp6eEjuv0WgUvQQRYenSpYoK9/nz\n5/H19QWgcuXKhZ5TpPAsCcOGDWPZsmXExMQwc+ZMJcb/1q1bvPvuu+h0OpYvX54vhv9ReJ6ySwwY\n0I/4+N/Yv38F8fG/MWBAv2ddpGIpLstCaZCQkMCyZcsKXZdXMyMpKZzU1J8YMWJcie7r+vXruXLl\nivL7YRoFxT0zWVlZDz1fabF7924++eSTYrf5888/6du3b5Hrk5KSWL58+dMu2jOnsKwNTyPDR1n/\nB1RUCuNJ2r/nmRe1Xir/LlTjg4qKSplQWp1dyElLFxAQ8MTHKY6SpB0tSO66Dh06sGzZMsUYcfbs\nWe7du1fsPu3bt2ft2rWkpqYCKOnBikpfWqdOHRYuXEh0dDTBwcGPJWr3rNKKFoc6mCma6dOnc+HC\nBZycnJg6dSpTpkxBq9Wi0+lYtWrV38Y+LTAO6M/9+xn06NGDHTt2ABAREYG3tzeurq506tSJv/76\ni+3bt3PixAkGDRqEk5MTaWlpiAhLlizB2dkZnU7H77//DsC9e/fw8fGhTp16NG/uRYMGjdm8OYjA\nwEC6detG27ZtFSPbs6Br165MmTKl2G3q1avHV199VeT64gw8xVFcu/A8kCvup6aFVHkRKc+THcXx\notZL5d+FanxQUVEpE0q7s/skCvIloWPHjmRkZGBra8u7775LixYtHnre3HUjR47ExsYGJycntFot\nY8aMKXJGOHefDh064Ofnh4uLC05OTixcuBCADz74ADc3N1q3bo21tfUD+xX1+2GoMyrlj48//hgL\nCwsiIiJwd3cnOjqakydPsm/fPpYvX056+gVQrnl3AAAgAElEQVTgU+AisIUKFfQ5ffo0AJmZmQQE\nBLB9+3b8/PyIjo7GwcGB7du3U6dOHSpXroyXlxeenp7cuXMHAwMDqlWrxq1bt2jTpg2XL1/mvffe\nIyTkECKfkJ39J/fv12DgwP7cuXOHY8eOkZaWRuXKlbGysmLcuHFPte7x8fFYW1vj7++PpaUlgwYN\n4sCBA7Rq1QpLS0vCwsLyGSX9/f2ZMGECLVu2pEmTJooBJj4+Hq1WC0BsbCzu7u44OTnh4ODA+fPn\nHzDwQE7GGTc3NxwcHJgzZ45yHCsrK4YOHYpWq+Xy5ctPtb6lQXnzLFJRKSmlOdnxLHlR66XyL+Nx\nYjVK84Oq+aCi8sIQGBgo9vb24uDgIEOGDJHdu3eLs7OzWFlZiZeXlxIXPHv2bBk+fLiSJWLJkiXK\nMbp37y4uLi5iZ2enZJgQEVm7dq00a9ZM3N3dZdSoUYpg3u7du8Xd3V2cnJykXbt2zyT2OC4uTuzs\n7B663cyZM+XAgQMiIrJo0SJJTU1V1nXu3FmSkpKK3Pdpx+GXp+wSKjnkFRN96623ZN26dcq6IUOG\nyDvvTBZ9fUOpVKmhEhvcs2dP2b59u5w6dUpMTEzE0tJSjIyMRKvVSrt27aRp06ZiYWEhzs7O8sYb\nb4hIzrPWrl07+fLLL+X48eNia2sr3bt3F2trawF9AXMBB4FGAhqZOXOmvPrqq2JkZCRxcXGSnZ0t\n7dq1k+3btz/VuleoUEFOnz4tIiLOzs4yYsQIERH55ptvpHv37hIYGKi0C8OGDZO+ffuKSE4mmSZN\nmjxwDQMCAhTdlIyMDElLS8u3XkRk7969Mnr0aBHJ0XXp0qWLHDp0SOLi4kRfX1/9v6ioPCeUN82g\nkvKi1kul/MFjaj4YPGPbh4qKygtKbGws//d//8fRo0epVq0aiYmJaDQaTpw4AcCaNWv45JNPmD9/\nPgBnzpwhODiYpKQkLC0tGTduHPr6+qxbt46qVauSlpaGq6srvXr1Ij09ndmzZxMZGYmJiQne3t44\nOTkB0Lp1ayUkYs2aNcybN48FCxaUef0f5nmQnZ2tzJoCLFq0iMGDB1OpUiUA9uzZ80jHv3HjBnFx\ncUqe+Ucl/4yKPeqMSvlCCrj5iwje3p7cvZtE3bp1GT9+PLVq1WLbtq+U9XZ2dvTt25fExERmzZoF\nwKRJk/j666/RaDT06/fPTHh4eDjff/89UVFR1KpViyNHjlC/fn309PTIzh4PvE3Os6OjZs2aVKpU\nCTc3N8zMzAAYMGAAhw8fpmfPnk+tzubm5tjY2ABga2tL27ZtAdBqtYW6IXfv3h0Aa2trrl+//sB6\nDw8P5s6dy6VLl+jZsydNmjR5YJu9e/eyb98+nJycEBFSUlI4e/Ysr7zyCmZmZri6uj61+uUlOzsb\nPT3VWVVFpaQMGNAPX982T/RefB55Ueul8u9BfZOpqKiUCgcPHqR3795Uq1YNgKpVq3Lp0iU6dOiA\nvb09CxYsUFzAATp37oyBgQE1atSgTp06XLt2DcgZlDs4ONC8eXMuX77M2bNnOX78OD4+PlSvXh0D\nA4N8g6SC54iNjS3biv9NRkYGgwYNwsbGhr59+5Kamoq5uTnTpk3DxcWFbdu24e/vz44dO1i6dClX\nr17Fx8dHGUCZm5tz+/Zt7t27R5cuXXB0dMTe3p6tW7cC5IvDNzMz45VXmj6RVoMaA17+MDY25u7d\nuwB4enoSFBREdnY2N27c4NChQ7i5udGuXTsiIiKoWbMm165dIzg4GABLS0tu3LjBH3/8AeSEYcTG\nxiIiVKpUiczMzHxiqIWF9XTu3Jl69epQseIsTEycMDRsTYUKFTAxMSlyn6dJXlHVvGKvenp6ir5K\nUdsXNNZAjoFk9+7dGBkZ8eqrryrXKi8iwvTp04mIiCAyMpLff/8df39/4B/x2JkzZ7JkyRJlnxkz\nZrB06dJCwzUAevTogaurK1qtltWrVyvLjY2NmTRpEo6Ojhw7dozp06dja2uLg4PDQ7UsVFRUXlzN\noBe1Xir/DlTjg4qKSqkghWRrCAgI4M033yQmJobPP/9cydQADw4kMjMzCQkJ4eDBgw9kmCiO4s5R\nlpw5c4bx48cTGxuLiYkJy5YtQ6PRULNmTU6cOJFPYT8gIID69esTHBzMgQMHgH8Gaj/88AMvv/wy\nkZGRxMTE0LFjR2W/2rVr88MPP/DnnzdJT2/7xFoNagx4+aJ69eq0bNkSe3t7jh07hr29PTqdDl9f\nX+bPn0/t2rXp1asXr7zyCra2tgwZMgRnZ2dMTU2pUKEC27Zt4+eff2bevHk4ODjw008/sWfPHlxc\nXDhz5gwDBw4kLS0NjUaDm5sbmzdvBuCvv/6iVatWvP/++9SvXw9jY0Nq1bqDtXXjfFomoaGhxMfH\nk52dTVBQEK1atXqq9S/MgPAk+/7xxx+Ym5sTEBBAt27diImJyWfggRwtlrVr15KSkgLA1atXlf9a\n7jFHjBhBYGAggYGBjB8/ni1btlC3bl3Onj3Lvn37GD16NCdOnODw4cMArFu3jrCwMMLCwli8eLEi\nLpuSkoKHhweRkZFYW1uzc+dOTp8+TVRUFDNmzHjsuquoqKioqDwr1LALFRWVUqFt27b07NmTiRMn\nUr16dW7fvs2dO3eoX78+kJOh4mEUlWHC3d2diRMnkpCQQJUqVdi6dSsODg4Aj3yO0qJhw4Y0b94c\ngNdee02ZCc3rpVGQvAOi3O9arZbJkyczffp0OnfunG8A16NHj7/Vr18hIyN3gPSP+vXjzIrUqlVL\nnU0pR2zYsCHf73nz5uX7rdFomD9/PpUrV+b27du4u7srAov29vZERETwwQcfsGnTJr766ivs7e1p\n1aoVFy9eZMGCBVSqVIkLFy4QHx/P8OHDuXXrFg0aNGDx4sVUqlSJPXv20K1bN9LS0ujQoQPnz59n\n6NChNGrUiJs3bzJ+/HjOnTtHmzZt6NGjx1Ote17j5sO8LErihREUFMSGDRuoUKEC9erV47333qNq\n1aqKgadTp07MmzePX3/9FQ8PDyDHO2HDhg3o6ekpxzQzM6NmzZpcvHiRS5cu4eTkRGhoKPv27aNl\ny5acP3+eV155hbNnz9KqVSsWLVrE119/DaB4d7m5uWFgYKCEqZiYmGBkZMSoUaN49dVX6dKlyxNe\nPRUVFRUVlbJHNT6oqKiUCjY2Nrz33nt4eXlhYGCAo6Mjs2fPpnfv3lSvXp02bdoUmR4qtxPfsWNH\nPv/8c2xtbbG0tFQ6/HXr1mX27Nk0b96catWqKYYHgFmzZpXoHKVNUYOdvK7sJaFp06aEh4fz3Xff\nMWPGDHx9fZVZT0NDQxo1akRm5p+Ayd97qFoNKvnp0qULiYmJZGRkMHPmTGrXrp1v/TvvvMPMmTNJ\nTU3F09MTFxcXRo4cmW8bMzMzxSsnL7Vr1+aXX34BcnRHevXqpXgCmJqasmvXrlKpk5mZGTExMcrv\ntWvXFrpuyJAhD6yHHCNlfHw8HTt2xNnZGRsbG+zs7Dhx4gSxsbG8/fbbtGvXjpo1a7J+/Xrq1KlD\nVFQUHh4epKam0rRpU9auXYupqSk+Pj7odDr09fWxt7dn7dq1jBw5klWrVhEXF8eSJUvYtWsX1apV\nIy4ujvv37wNw6NAh/vrrLw4ePMj/s3feYVFcXRh/6SDSVIxiIhBF6nYBAaVYKLaINSoKij0aNbEm\nMZbE2BvWmGAFFRU1oiYaQVCxgHQVy4cudgURFFzqnu+PzU5YigJSzfyeh+dhZqfce2funblnznlP\n+/bt0bp1axgYGCA0NBQnTpyApqYm1q1bh507d0JJSQl+fn6wsrLCoUOHsGnTpgqvBwsLCwsLS6Om\nJiqVdfkHNtsFCwtLE0csFpOSkhJduXKFiIjGjx9Pa9euJVNTU4UMFX5+fkwGAC6XS/fv32d+k2ez\nePLkCeXn5xMR0YkTJ8jb21vhdyKin3/+hZSVVVn1a5YaMWLECOLz+WRpaUkrVqyo0THkCux6ekLS\n0mpBCxb8SB4eHhQTE9MgGWeqgryfXr58mYiI/P39adWqVeTo6EiZmZlERBQSEkJjx44lIlkfvXDh\nAhHJMtXMnDmTXrx4QSKRiEaNGkVEROfPnycbGxsqLCykNm3akJ6eHkmlUnJzcyNra2u6efMmmZub\nk5mZGW3fvp28vb2pf//+ZGdnR3w+nzQ1NcnLy4vOnDlDzZo1Iy6XSxKJhJ4/f07m5uaUmJhI2dnZ\n1KpVqwZoMRYWFhYWFhlgs12wsLCwyPjQzA+1gYWFBTZv3owxY8bAxsYGkyZNwsaNGxW2Ke0dMX78\neHh5ecHIyAjh4eHMbykpKZg9ezaUlZWhrq6Obdu2ldvX09Mdf/11CmvXrv2o1K/T09PRt29fpKSk\nfNBxTE1NERcXhxYtWtRSyT4ugoODP2j/jIwM+PtPgURyDhKJLFPKihXOUFZWQq9ek1BYKEZg4JZG\nqSFSNjzql19+wY0bN9CrVy8QEaRSKYyMjPD69Wvk5OQwYU++vr7o2bMXtm3bjcLCQqSk3IGXVwiG\nDx+GN2/eQCKRwNLSEq9fv4aSkhJu3LgBdXV1CAQCFBYWQk1NDR07dsTjx4+hoaGBO3fuQEtLCyKR\nCDdu3ICjoyNKSkrg7e0NTU1NZGdn482bN+jduzdatWqFdevWNWSzsTQQ1R0To6KioK6uzngNVhc2\nywoLC0ttwxofWFhYPir27w+Bv/8UqKubNNikx9jYuMIsG/fu3VNYLu0KPnXqVEydOrXctu7u7nB3\ndy93rKtXryItLQ0lJSUQiUS4cOFCbRW/UVEbGRJqO8sCiyIy3RGTfwwPAMBFYWErAEuQnz8CQDL8\n/d3Qs2f3Rm8Y09HRgbW1NaKjo/Hrr79i27ZteP78ObhcLp4/f46///4bCxcuxKtXr/7JFHIZwDyU\nlKRg9Gg/rFixDHl5eUhOTkZ0dDS0tbUxaNAgSKVSpKWl4enTp+jXrx8TFpKTk4NJkyZh7NixyMrK\ngqqqKoKCgqCtrY0VK1Yw4pMqKirw8vJCx44dMW/evIZrIJYG533jWWkDRWRkJJo3b16p8cHb2xuP\nHj1Cfn4+pk+fjnHjxkFJSQnffvstwsPDsXnzZmhqauKbb75BXl6eQhgSCwsLS01gzZksLCwfDaW/\nwH5o5ofGzP79ITA2tvig1JpNhbIpS/Pz8xEeHg6hUAgej4dx48ahqKgIACpdT/+Id0okEnh5eSEw\nMLDB6vMxYmIiM/QBcg2GZABPAfT6Z/lfEdTaYO3ateBwOOByudiwYQPS09NhZWWFCRMmwMbGBp6e\nnigoKAAgM+J5eXnB1tYWLi4uuHPnjsKxHjx4gKtXrwIA9u/fDwcHB2RkZODKlSuYOHEiYmNjsWvX\nLhgbG+OTTz7B7NmzER4ejm7dukFFpRmAv/85UiFUVFrgq6++QsuWLdGjRw8IBAL4+PjAxsYGrVq1\nQkBAAJM9IykpCQDg4OCAdevWwdnZGV27dsXq1avRrVs3ALL0qceOHcPu3XvRvr05du4MxqJFyz7q\n/s7yfipL45yVlQVA5i13//59pKenY9u2bVi/fj2EQiGio6PLHatsphX5MeRZVuzs7DBt2jSEhoYi\nNjYWY8aMwXfffVev9WVhYfnIqEmsRl3+gdV8YGFhqSExMTGkpyckgJg/XV0BxcTENHTRao0XL16Q\nllYLApL+qWMSaWm1aLRx9R9CRTH5P//8M3322Wf0v//9j4iIRo8eTRs2bKD8/PwK1xMRmZqaklgs\npp49e1JQUFC9lH3Dhg1kaWlJPj4+9XK+hkau+SDXHVFTa14n92hcXByjg5Cbm0s2NjaUkJBAqqqq\nlJycTEREQ4cOpeDgYCIi6tGjB3NPXL16lbp3784cSywWk4WFBY0aNYosLS1p8ODBJJFIKCkpiZyd\nnYnH45GNjQ25urrSokWLKCAggFRVVUlLS4t0dXUJUCZgEAGuBGiTkpIyWVpaUmRkJBkbG9OuXbto\n2rRplJaWRjwej4YNG0ZcLpf09PSoRYsWNGfOHAoMDKR27doREVFRURE1b96cjh07xpTxp59+IiUl\nFQLMCAho9P1dLBaTjY1NlbfftWsXPX36tA5L9HFR0Zi4evVqBT2hsLAwatasGY0fP54MDQ3J3Nyc\n8vPz6bfffiNbW1vi8/nMvb5w4UKytLSkZs2akbKyMo0ZM4YAkFQqJSKi69evk66uLgkEAuLz+cTl\ncsnT07PB6s/CwtJ4QA01Hxrc2FCuQKzxgYWFpYb8Fybm/wUDixyxWEzGxsbMckREBLm5uZGLiwuz\nLjw8nAYNGkRJSUkVrieSiXPy+Xzat29fPZWcyMLCgh4/flxv56sKdW0QefHiBSMwWdYY8S4R1PHj\nx1NqamqVzrFhwwZauHAhs/zjjz9SQEAAderUiVm3YsUKWrp0KeXm5pKWlhYzceLz+WRtbc1sV5WJ\n8s6dO6lv375EJJvUjRgxgvlNXkcVleYEKNH27b8TEVFOTo7CfZuWlkYikahK9StLU+vvYrGYOBxO\nlbd3dXWla9eu1WGJPi4qGhMHDBhQzvigpKREycnJtGjRIuLxeBQcHExZWVnMfj/88ANNnz6dunXr\nRn379qWgoCBydXWlGTNmUOn38JSUFHJ0dKy3+rGwsDQdamp8YMMuWFhYPhoMDQ0RGLgFWlpu0NUV\nQkvLDYGBWxp9nHl1qMjF/WNOrVlVvQb614BdIU5OTvjzzz+rff6FCxciIiKiWvtMnjyZcfdfuXIl\nnJycIBKJ0LVrV9y9excAsHv3bnh7e8Pd3R2ff/45Nm/ejHXr1kEoFMLR0RHZ2dkAwKR35PP5GDRo\nEHJycgAAbm5uiI+PBwC8fPkSpqamAICbN2/C3t4eQqEQfD4faWlpTLm2bt2Ks2fPYu/eve+tQ0lJ\nSbXqDMj6n62tLQwNDTF8+DCkp9/C2bO/Ij391jt1V7Zv3w4LC4sqnaPsNZYva2hoMOtUVFRQXFwM\nqVQKAwMDxMfHIyEhAQkJCbh+/brC/u+6v+Li4rBmzRoEBQUBAOzt7REdHc206YAB/XHu3Cnw+eZo\n0+YTDBrkDQDQ1dWFgYEB4+a+d+9e2NraIjY2ttohYM2bN0d+/j00pf5eUahUfHw8XF1dYWtrCy8v\nLzx79gyhoaG4du0afHx8IBQKcf78eQwaNAgA8Mcff6BZs2YoLi5GQUEBOnToAKDyMJrMzEwMHjwY\n9vb2sLe3x+XLlzFhwgRMnToV/v7+cHNzQ8eOHcuJ/jYV5EKnQMVpnFVVVSGVSgEABQUF0NTUBIfD\nAQB8+umnEIvFSElJgbOzM7hcLvbt24c7d+7AwMAAly9fBp/Px5UrV8rpC5mbmzNhSABQXFxcoZ4R\nCwsLS5WpicWiLv/Aej6wsLB8IKW/wH6MVOerclOmopSlv/zyCxkbG1NaWhoRydKVbty4kfLz8ytc\nT/RvWtLp06fT5MmTy52nuLi41stuampKWVlZ9ObNGyopKSEiorNnzzLeGLt27SIzMzPKy8ujjIwM\n0tPTo+3btxMR0cyZM5mQkYrSOxLJvhjHxcUREVFmZiaZmpoSEdG0adMYD4+ioiImTeukSZNIXV2d\nuFwurVmzhgYMGEBcLpccHBwoJSWFiIgWLVpEo0aNIicnJxoxYgSVlJTQt99+SxwOh3g8Hm3atImI\nZKEPLi4u1LlzZ/L09KRnz55VuV3y8vKoT58+xOfzicPhUEhICFOX9PR0MjMzo5cvX5JUKqVu3brR\n33//rbB/fHw88Xg8JuyCw+FQYmKiggfD6tWrafHixURE5OTkRIcOHWJ+S0pKqnJZx4wZQ+3atSOB\nQEACgYDGjx9P586dI1tbW+JyucTj8SgsLIyIqFwa3aSkJOrSpQvxeDyytbUlTU19Jg1pVfurvJ9r\naZkSoEVaWjaNvr+/K33pvXv3aMuWLQrpS11dXSk+Pp6IZP3w888/JyKiWbNmkZ2dHV26dImioqJI\nW1ubXr58WWkYzYgRIyg6OpqIiB48eECWlpZEJLunnZycqKioiDIzM6lly5Z10t/ri8rSOPfq1Yv+\n/PNPIpK1uba2NhERrVmzhnr16kWLFi0iU1NTpq/v2rWLfH19ycvLi1RUVGjAgAHUvXt3OnnyJJV9\nDy8bhvT777/XY41ZWFgaK2DDLlhYWFj+O3zsBhYi2Yu2paVluZj8iIgIEggExOVyyd/fnwoLC4mI\n6NSpU6Srq0uamppkYGBA+/bto7i4ONLU1CQ+n0+enp40fPhwmjt3LuNibGtrS4sXLyYTExPmvG/f\nvqXPPvuMiouLyc/Pj0JDQ4lI5gLv6OhIPB6P7O3tKTc3l0pKSmj27NlkZ2dHPB6PMSDIDR4PHz4k\nb29vsrGxIQ6Hw0yKdu3aRRMmTGDOaWxsTE+ePCEioh07dtDMmTPf6b5fmfFh3759ZG1tTStXrqS7\nd+8qtKd8gjxt2jRasmQJEcnctvl8PhHJJmqdO3emgoICIiLaunUrDR48mIn/fvXqFRUVFZGjoyNl\nZmYSESlMJKtCaGioQr1zcnIU6hIYGEiDBw+mVatW0aRJkyo8xrp165j2DAgIKOfqX9r4cP/+ffL0\n9CQej0fW1tb0008/VbmsNWH9+vUkkUiY5ZqGgpXf7xxpaOjSzZs367T8H0pFYQE9e/YkPT09srKy\nIk1NTQXdAPm1lxvo3N3dKTU1lZydnenAgQO0bNky+vnnn6lly5b04MGDSsNoDA0NSVdXl7S0tEhT\nU5NatmxJ3bp1owkTJtAvv/xCzZs3p++//540NDRIJBIx7f/8+XPy9vYmHo9HfD6fMZoEBQWRnZ0d\nCQQCmjRpEtMHGormzZsTkWwMatasGRkYGJCGhga5urqSRCKhCxcuUKdOncjW1pYmTJjAGB/u3LlD\nbdu2pTZt2pC+vj5lZGRQYWEh9erVi8aMGUNERF988QWjhbNlyxbS0dFpmEo2UeTaMX5+ftSpUyca\nOXIknT17lpycnKhTp04UGxvLPDuEQiE5OTnRnTt3iIioW7duCgZRJycnxkDEwtLYqanxgU21ycLC\nwtIEMTQ0/KjCSSqispSlpUMOSiORSPDll1/i119/BQC8fv0aXl5eePToEVq2bImDBw/i9OnTWL58\nOdzc3FBUVISYmBgAQEJCAqKiouDi4oKwsDB4enpCRUWFOXZRURG+/PJLHDp0CEKhELm5udDU1ERg\nYCD09fVx9epVFBYWwsnJCe7u7oxr9IIFC9C9e3ccOXIE6enpcHNzY45ZOlRASUmJWVZWVkZxcTGA\n8mEGckq7Wefn5zPrhw8fji5duuDEiRPo3bs3tm/fDldXV+Z3IsLFixdx5MgRpi2zsrLw5s0bAED/\n/v2hrq4OADh79iwmT57M1EVfXx83btzA9evX0atXLxARpFIpjIyMKixjRXA4HMyePRvz589Hnz59\nFNzJAWDs2LE4ePAgfv31VyQmJlZ4jBkzZmDGjBkK6+SpKwHg22+/Zf43MTGpUbhNTSgpKcH69esx\natQovHnzBmKxGK9evSqXhlSe+eNd/bd8+lJXaGh0QG5ubp3XozL27NmDNWvWQFlZGVwuF2vWrMGk\nSZPw8OFDAMD69ethZGSEnJwc+Pv74969e7hz5w5atWoFa2trtG/fHmKxGCoqKuByuYiKikJCQgK+\n+eYbPHv2DLdu3cLDhw/h7u6OrKwsPH36FBcvXoRUKoWmpqZCGE1ZCgoKMGTIEPz+++8AZH3/iy++\nACDrZ3l5eXB0dISZmRlsbW3x22+/4bvvvsPXX38NV1dXHDlyBESE3Nxc3Lp1CyEhIbh06RJUVFTw\n1VdfITg4GD4+PvXX2GWQ98ELFy7ghx9+wPz580FEePv2LTQ1NdG1a1fcvn0bgCzV5uXLlwEAZmZm\n+Pbbb5GXl4dPPvkEdnZ2aN26Nezt7Zk+v379eowYMQIrV65k2kxORkYGxGIxTExMPvrnzYeQlpaG\n0NBQWFlZoXPnzti/fz8uXryI48ePY+nSpdi7dy8uXLgAZWVlhIeHY/78+Th8+DDGjx+PnTt3Yt26\ndbh79y4KCwthY2PT0NVhYalTWOMDCwsLC8tHQdmJrYGBAVJSUuDk5AQ1NTUoKysrTJSHDftXh2Do\n0KEICQmBi4sLDhw4gK+++krh2Ldv34aRkRGEQiEAWSw+AJw5cwYpKSk4dOgQANmk5+7du4zRICcn\nB+3atQMgS2tXHXR1ddGiRQtER0fDyckJe/fuhYuLCwDZpPratWvo3Lkzc24dHR0kJyfD1NQU06ZN\nw4MHD5CcnKxgfFBSUqrQoCGf3GhrayMqKgqrV6+Gurp6ufhyIoKNjU2FafuqgpmZGeLi4nDq1CnG\nMFP6HBKJBI8ePQIA5ObmQltbu0bnkVObkydvb288evQI+fn5mD59OsaNGwcdHR1MnDgR4eHhGDhw\nIJ48eQKBQIBHj55AR4eLgoJ7kEoJMs0GLqqq2aCo7VL1/eqKmzdvYtmyZbh06RIMDAzw6tUrTJ06\nFd988w0cHR3x8OFDeHh44M8//0R2djauXbuGuLg4jB07FqGhoTAyMsKsWbNw48YNxMTE4M6dO8jI\nyEBubi4mT57M9MWVK1fiq6++wvTp0xEYGAhNTU28fPkSampq0NHRgampKQ4fPozBgwcDkBmduFwu\nXFxccPToURgaGqJPnz7Q0dFRKL+GhgZ69+6NuXPngsPhMIatiIgIRgNFSUkJOjo6CA8PR3x8PGxt\nbUFEyM/PxyeffFKPrV05tra28Pf3R1FREb744gvweLxy2xgbGyM8PByxsbEwMTFRMMZNnDix3Pba\n2trYsGED00eWLFkCQJbS2d9/CtTVZfdiYOCWd2q3/JcxNTWFlZUVAMDa2ho9evQAIHsmpaenIzs7\nG6NHj8bdu3ehpKTEGJcHDx6Mn376CatXr8aOHTvg5+fXUFVgYak3WMFJFhYWFpaPAvnElsPhYMGC\nBVi0aDHy8iR49kwbaWlPMG/edwpfwcjEuRwAACAASURBVEtPbPv3748///wTr169Qnx8PLp3765w\n7Mo8EIgIGzduZAQN09LS0LNnT2ZCPWfOHMybNw8ikYjxVKiIyoQPd+3ahVmzZoHP5yMpKQk//vgj\nAGDWrFnYunUrRCIRsrKymGOEhITAxsYGAoEAN27cwOjRo8vVwcXFhRFRjIyMRKtWrRhjSunyuLu7\nY9u2bYz45KtXrz5YgO7p06fQ0tLCiBEjMGvWrHJfsefOnQsfHx8sWbIE48aNq/JxK2L//hAYG1ug\nV69JMDa2wP79IR90vJ07dyI2NhaxsbHYsGEDsrKykJeXBwcHByQkJGDBggVo06YNXrx4Dak0Djk5\nccjPjwJRSbVFcBubeG5ERAQGDx4MAwMDAICBgQHOnj2LqVOnQiAQoH///sjNzcXbt2/RqlUrxjtC\nIpHA2NgYW7duxfLly3H37l0IBALmy7yVlRUWLlwIoVCIgoICXLlyBQ8fPkRISAgePXqETz/9VGGC\nHRwcjMDAQPD5fNjY2OD48eMAZNfGxcUFwcHB8PDwwPjx4xX6lJqaGgDZfV3as6iifkdE8PX1ZYRK\nU1NTmX7X0HTr1g3nz59Hu3bt4Ofnx/Tj0lTnvq9s24yMDPj7T4FEcg45OXGQSM7B339KtQVT/yuU\n9mJTVlZW8GIrKipiDK0pKSkICwtjvNW0tLTQq1cvHDt2DIcOHcKIESMapPwsLPVKTWI16vIPrOYD\nCwsLS5WpSrrA9xEZGUmXLl2qpRI1HE+ePGEEFoODg0lZWY2A9gRcJiCJNDUNGPHG0joDcoYMGUKj\nRo2ir776ilkn13woLCykDh06MGkB37x5Q8XFxbR9+3YaMGAAFRUVEZEsxvrt27f1Ud1ylI7VnjVr\nFtnY2BCXy6WQkBAiImrTpg117dqV+vfvT82bNyd9fX1ycHCg69ev059//kmtWrWiTz/9lL7++mvq\n168fFRcX05QpU0hHR4c0NTUZwbqkpCQyNjamFi1akLa2NhkaGlJAQECVynj69GnicrnE5/PJzs6O\n4uLiyM3NjeLi4igqKoocHByY+PpBgwbRrl27atQWdZF2d+HChcTj8YjH45G+vj5duXKF1NTUFPQA\n2rZtSzo63HKpMU+fPl0jjZbGou0SEBBACxYsUFhnaGjI6IOUZtGiRbRmzRpm2cbGhtLT08tpc0RG\nRlK/fv0Ulrt168b0YVdXV4qKiiKifzVUKqN03z9x4gQNGDCAua+I/tVMICI6fPgwo3cwfPhwWr9+\nPRERlZSU0OvXr+nmzZvUqVMnps2zsrIoPT39fU1Up8jLn56ezghmbtq0iRGglVOd+/5d2za1FK8N\nSdlncGmdIPlvAwcOpCNHjhCRbByRa/QQyQR8jYyMaPjw4fVbcBaWDwRsqk0WFhaW/yZVTUdZGZGR\nkbh06VItlabhSElJgZ2dHQQCAX755Rc0a9YBQBiAuQBGo7BQgr/++gtAxW02bNgwBAcH48svv2TW\nybdTU1NDSEgIpk6dCj6fD3d3dxQUFGDcuHGwsrKCUCgEh8PBpEmTmK+qDUFGRgZWrFiBa9euISUl\nBX///Tdmz56N58+f48CBA7h+/Tq2bduG169fw9LSEqtXr0bHjh0xYcIEXL16FQ8fPsSzZ88AyFJW\nqqioYPbs2ZBIJAgMDMSoUaPA5XIxZswYWFpaIjs7G6mpqVi8eHGV0nO6u7sjKSkJCQkJuHr1KoRC\nISIiIiAUCuHs7IxLly4xbX748GH4+vrWqB3kmgmykAWgtNZCTYiKikJERASuXr2KxMRE8Pl85Ofn\nQ1NTs9wX9qKiByibGlMgEDBpSKtD6fSlDUmPHj1w8OBBxsvm1atXcHd3R0BAALNNUlLSO4+ho6PD\n6AxURE5ODgwMDKChoYFbt24x3jVVoXTfX7JkCRYsWMCUMzY2ttL91q9fj3PnzoHL5aJz5864efMm\nLC0t8fPPP8Pd3R08Hg/u7u5Mn3gf6enpTIrL2kR+j0VGRoLP50MoFOLgwYOYPn26wnbVue/ftW1j\nSOm8Z88e8Hg8CAQC+Pr64sSJE+jSpQtEIhHc3d0ZL4zFixc3eDrV0mNARalQ3+UBJxQKoaurizFj\nxtRLWVlYGpyaWCzq8g+s5wMLCwtLlZErbY8cOZIsLS1pyJAhJJFIKk2HuGHDBrKysiIej0fDhw8n\nsVhMbdq0oU8//ZQEAgFdvHixgWtUO9TFl+/GjpaWFmlptSB19dakpqbNpGQcPXo0hYWFUWRkJLm7\nuzPbT548mYKDgykxMZFcXFyY9cePH2e+SAsEArp//z7zW/v27enevXskFApp5MiRzHorKyt6/Pjx\nB5W/Nr/y1/b1/+OPP6h///5ERJSamkqampoUGRmp8EWdSJYadcOGgI8yFe6ePXvIxsaG+Hw+jRkz\nhl6+fEnDhg0jLpdL1tbWTBrbsp4PHA6H8RwYMWIEcTgcmjNnTjnPh4KCAvLy8iIrKyvy9vYmNzc3\nxvOhbCrTqiBPVVrdFKcfQlnvjvqmKve93HPifds2ZErnGzdukIWFBWVlZRGRLNNOdnY28/vvv/9O\ns2bNIqKmn0718ePHZG5u3tDFYGGpNmBTbbKwsLD895DnfZeniPP396dVq1ZVmg7RyMiISU2Zk5ND\nROUnCx8L9fXy3Bhc41+8eEEA/plIzCBgCTORGDVqFGN8KD3Zmzp1Ku3evfudxgc+n69gfGjVqhVp\nahqQhkZbUlXVYtpU7lpfU+piolib17/sxLh79+4UGRlZLi3hxo0bycLCgrp169bg98R/mQ8xPn1I\nf5anBx4/fjxZW1uTh4cH5efnU0JCAnXp0oV4PB4NHDiQsrOz6cWLF0zq3MTERFJSUqKHDx8SEVGH\nDh1IIpFQRkYGDRo0iOzs7EgoFNLvv/9Oz58/JxMTE2b8JiLq2LEjvXjxgjIyMsjOzo6UlFRIWbkZ\nqavr0L59B2jRokU0atQocnJyohEjRjD7va+PNNTYtnHjRvrhhx+Y5UWLFtGsWbPo888/J1NTU7Kw\nsCAvLy/mt3HjxlHfvn2JqHYMofXFpk2bqE2bNrRjx46GLgoLS7VhjQ8sLCws/0HEYjEZGxszyxER\nEdSzZ0/S09MjgUBAfD6fuFwueXp6EhGRl5cXDR48mIKCgig3N5eIPl7jA1Hdvzw3xNfVioiJiSFA\n+Z+J1hECPElHh0+nT58mExMTev78eaXGh/z8fDI2NqZ79+4RkSwOXr6dn58fGRoa0vjx4+mzzz77\nx8ARQwCfgP6kpdWC2rdvT61bt2Y0Jm7fvk1ERHl5eTR27Fhm4nT8+PEKy16XXir1MXn60HNs2LCB\nLC0tycfHp5ZL1rT5kHatjmZBae+VD+3PYrGYVFVVKTk5mYiIhg0bRkFBQcTlchm9mR9//JHRarCx\nsaE3b97Qpk2byM7Ojvbt20fp6enk6OhIRDJPkejoaNq37wBpaOiRsrImaWm1IC8vL0YP5erVq9Sr\nVy+F7V+8eEFhYWHUqVMnIpKN8Z07d65Qo6MxGE/LUlZjZNGiRdShQwc6ceIEEcn0Qdzc3JjfpkyZ\nwoxZH2oILUtlz8cP1VtqLM8OFpaaUlPjA5tqk4XlI4WIPlgLgKVpUPY66+jowNrausJ0iCdPnsT5\n8+eZ/OPXr1+vr2I2CIaGhnUWL19aEV4ikaVD9Pd3Q8+e3es9Rl8Wiy2FLEbbG8Bx5Ob+jZkzZ2LV\nqlVo3bo1UlNTFfaR3zcaGhr49ddf0bt3b2hra6Nbt27Izc0FAMycORO7d+9GVFQU9PX18fRpDoqL\n7/xzBAOoqRmjqOgZVFVVcfLkSZw8eRKrV6/G9u3bsXTpUvTo0QOBgYHIycmBnZ0devbsCS0tLYVy\nyGPPZW0IlI49/9B2rMvrD9ROOsKtW7ciPDxcIQ1sSUkJVFRUaru4TYYPbdd/NQucAZwAkAKJ5Daj\nWSBPJxsWFsb0g9rqz59//jmj+yAUCpGWloacnBx07doVAODr64uhQ4cCABwdHXHx4kWcP38e330n\ny8YjlUrRrVs3AMDZs2eRkpKC69dvgqgjgLeQSA4iPFymOePr64sDBw4wqUrPnj2L1NRU+cc8SCQS\n5OXlAZBl9FFXVy9X3rruIzWhR48ecHFxwb59+2BkZITWrVsjPz8fv/76KwoKCnDixAm8fPkSlpaW\nyMnJQceOHaGvr1/v5azpO1ZjenawsNQ3rOAkC8tHQnp6OiwsLODr6wsOh4O9e/eCy+WCy+Vi3rx5\nzHY6OjqYM2cObGxs4O7ujtjYWEao6cSJE8yxnJ2d0blzZ3Tu3JkR/oqKioKbmxuGDBkCS0tLjBo1\nqkHqyqJIeno6rl69CgDYv38/HBwcKk2H+ODBA7i4uGD58uV4/fo1cnNzoaOjg9evXzdY+ZsqtS1q\n+CEYGhpi374DpVIzHkdwcDBu3LiBwYMHA5Cl2JSnJgSAgIAAJhWnh4cHUlNTce3aNaxbt47ZTk9P\nD2ZmZrh9+zbCw8MBFAG4AkAAgIuionSoqanh2rVraN++PUQiEVP/M2fOYPny5RAIBHB1dUVhYSEe\nPHhQruyNQdyuJtRGOsLJkyfj/v378PT0hL6+PkaPHo2uXbti9OjRKCgowNixY8HlciESiRAZGQkA\n2L17N7hcLpo3bw4dHR1s3rwZ69atg1AohKOjI7Kzs+uoxvVDbbTrv6lKb0BX1xUaGn3Qpk1LhYld\n2YmjWCxGSYkqgJEAeABuQU3NGEeOHKn0uXfq1ClYWlrC1tYW06dPh7+/v0LaRRUVlXdej65du+LC\nhQt48OABvvjiCyQlJSE6OhrOzs4AZB8Rtm3bBl1dWXmABwC6QFOzI+7evYvMzEwcO3YMgwYNYra/\ncuUKk/r3wYMHTErh0qmFGzv5+fnQ0tKChoYGsrOzcebMGXh4eODcuXOYM2cODAwMcPv2bZw8eRIT\nJ05UeH5lZmZi165dAGTG0x49egCQpYsdNWoUDhw4UOm7kZzQ0NAKBSDj4uLA5/MhEAiwefPmGtev\nMT07WFjqG9b4wMLyEfG///0PU6dOxZkzZ7BgwQJERkYiMTERsbGxzGQiLy8PPXv2xPXr19G8eXMs\nWLAA4eHhOHLkCKMQ3rp1a5w9exbXrl3DgQMHMG3aNOYciYmJCAgIwM2bN5GWlvZRZElo6lhYWGDz\n5s2wsrLCq1evMG3aNBw+fBhz585lXpQuX76M4uJi+Pj4gMfjQSQSYfr06dDV1UW/fv1w9OhRCIXC\nCr0lWCqmsU2ahw8fhvT0Wzh79lekp9+q9hf4ypBPpgwNDTFs2CCoqgZCVfUoVFV/wLp1yxXy2quo\nqDDZPogIoaGhzETo/v37MDc3L3f8fyeKcsOJGwIDtzT6L4C1MYHYunUrjIyMEBkZiZkzZyI1NRUR\nEREIDg7G5s2boaSkhOTkZOzbtw++vr4oLCwEANy6dQtJSUm4f/8+vv/+ezRv3hzx8fHo0qUL9uzZ\no3COqmQhaUxUp11XrVqFTZs2ASg/0Tx16gQMDZsjNHQlevfujpcvX0IoFGLu3LkAgDdv3mDIkCHI\ny8vDqFGjkJKSguLiLADBAP4GMAOFhffRpk2bCp97BQUFmDRpEk6fPo3Y2FhkZGRASUmJ8TqQo6en\nBwMDA2Zs3bt3L1xcXAAAzs7OCAoKgpmZGQCgRYsWOHXqFJycnADIssOcOXOm1DiTBPk488UXX+Cb\nb76BlZUV89W/uhlIGisXLlzA2LFjcePGDSQnJ2PChAmwsrLCkCFDsHLlSowePRpdunTB559/joUL\nF+Knn35i9j127Bhu3LgBQGYsyMvLQ0lJCS5evAgzMzPMmzevwnejirJUlGXs2LHYtGkTEhISPqh+\nje3ZwcJSn7BhFyz/GdLT09G3b1+kpKRUe9+oqCioq6vDwcEBAPDrr79CW1sbPj4+tV3MD8LY2Bi2\ntrY4fvw43Nzc0KJFCwDAyJEjcf78ecbt0t3dHQDA4XCgqakJZWVlcDgcpKenAwCKioowceJEJCYm\nQkVFBXfv3mXOYWdnh7Zt2wIA+Hw+xGIxHB0d67mmLHKMjY0Zr4bScLlcREVFlVt/4cKFcuvMzMya\n7EtqQyKfNPv7u/0TfpDe4JPmunChLj2ZEgj4yMnJwalTp6Gu3g4zZ85D8+YVhwd4eHggICCASX0n\nT1FZEcOHD0PPnt2ZNH+N3fAAlJ1AyFynP3QCUdo1/uLFi/j6668BAObm5jAxMcGdO3ewe/dulJSU\nYODAgYxBYt26ddi5cye8vLwgFouxePFipKWl4d69ezA2NkZwcPCHVrfeqE67Ojs7Y+3atZg6dSri\n4uJQWFjITDSdnZ0RHR0NoVCIdevWoV+/foiPjwcge6YnJibi5s2bOH36NNLS0lBUVITx48dhzx5Z\nf87Le4mpU6dDX1+/wueetrY2OnTogPbt2wMAhg8fjoCAgAonsbt378bEiRMhkUjw+eefY+fOnQBk\n47eSkhJjjOjatSseP34MPT09AMCGDRvw1VdfwdCwOR4+FEJV1QCqqlIEBm5Bp04dYWdnh927dzPn\nkm/P4/FQUlICZ2dnbNmypfYuTj1Suh3LGnTKkpOTg+zsbGRkZEAkEiEuLg65ubnQ0NCASCRCbGws\nLly4gP79+8PV1bXCd6P3neP169cK4TOjRo1iUjdXl8b47GBhqS9Y4wNLk0cqlUJZuWpOPDWNz4uM\njETz5s0Z48PEiRNrdJy6Ru5WSf8KuJZDTU2N+b/0F0slJSXmi+W6devQpk0bJCcno6SkRCFGu6xL\nqXwflsp5X377hiIjI6PeJnsfYvxrzLxv0lzaULl79254eHigTZs2DVTamlF63MzLy8Nff52FVOqF\n/PzRADoiP1+AzMxM5oVezoIFCzBjxgxwubIv2CYmJgphH2VpjLHn76IuJhClXePLjuHyZV9fX1y+\nfBn5+fnYvn07NDQ0cPHiRSQlJcHPzw9ffPEFACA1NRXR0dEVxvk3ZqrTru+aaG7cuBG//PJLpecp\na1CQh7/89NMSiMVirFq1Ci4usvCHip57FT1ntbS0kJyczCx/++23zP+XL1+usBylPTrmz5+P+fPn\nM8stW7bEgQMHAFQ8Xpf1aim9fWkWLlxYaTs0RpydnTFmzBjMmzcPhYWFCAsLw6RJk5j2trCwgFgs\nxv3793HlSgz8/PyhpKQFY2MLBAZugbGxMXbu3AknJydwuVycO3cO9+7dQ/v27XHt2rUKz1l6nMvP\nzy/3+/uME9WlKRpcWVhqAzbsgqVRk56eDktLS/j4+MDKygpDhw6FRCKBqakp5s2bh86dO+Pw4cNI\nSkqCg4MD+Hw+Bg0ahJycHACVx+ft3r1bIZSgX79+OH/+PADgr7/+gkgkgkAgQK9evZCeno5t27Zh\n/fr1jFv64sWLsXbtWgCyr3kVndvNzQ3z5s2Dvb09LCws6sWdXf5wtLe3x/nz55GVlYWSkhLs378f\nrq6uVd4/JyeHeSnbs2dPk3PbbWw0RuHP/ftDYGxsgV69JsHY2AL794fU+TkbYzvUBoaGhrC1ta3w\n5XHixImMh9SuXbvw+PHj+i7eB2FsbKwwmfLy8oK2tiWAYwAGAuBCR4fHjHsikQgREREAAE1NTWzb\ntg3JyclITk5+p+GhqVIboS6VTWqcnZ0Zj4U7d+7g4cOHTNhKYWEhQkND0axZMzRv3hyA7JmTm5vL\nhGZUJjDYFKhqu6qqqipMNLt168ZMNC0sLN55DrlBgYigoqICMzMzhISEoGXLljAxMUFsbCzs7Owq\n3d/CwgL3799ndExCQup2DH3XOFMZGRkZTEhIU0IgEGDYsGHgcrno06cPcx3KiuR6eHhg5MiRKCkZ\niuJiZ0YfRCQSYfXq1XB2dkbXrl2xbds28Pn8d74btWnTBrdv34ZUKsXRo0fLlUlPTw/6+vpMqGlt\neBPV5JqysDR1WOMDS6Pn9u3bmDp1Km7evAldXV1s2bIFSkpKaNWqFa5du4ahQ4di9OjRWLVqFRIT\nE2FjY4PFixcDeHd8XkUToczMTEyYMAFHjx5FQkICDh06BGNjY0yaNAkzZ85EfHw8E4spx9fXt8Jz\nA7KvElevXsW6deuwaNGi2m2YCpDXqU2bNli2bBlcXV0hEAggEonQt29fhW3etf+UKVOwa9cuCAQC\n3Llzp1Khqo91MlkRwcHBsLe3h1AoxOTJkyGVSqGjo4MffvgBfD4fjo6OzAuePBSFx+MxOhqNidoQ\ndKsJxcXFmDBhAmxsbODp6YmCggIF452XlxesrKwAyCZSchfply9fwtTUFABw8+ZN5jrw+XykpaUB\nKH99avsrVVXZs2cPeDweBAIBfH19sXjxYqxZswahoaG4du0afHx8IBQKcerUKQwcOJDZ7+zZs4xo\nXGOmOrHKTXXiU10+dAJR2Tg6ZcoUFBcXw8jICDweD8rKytiyZQt2794NqVSKYcOG4cWLF5XGqjcl\ngcGKqGq7Ojs7l5toCgQChW3e5X0mb6/OnTuDy+WCx+OhZ8+eTJaYyrbX1NTEli1b4OHhAVtbW+jq\n6jLhEo2BhjAw1ybz58/H7du3cf78eQQFBeGbb77Bjh07mHHTw8MDwcHB/4hx7gVwHHJ9EBMTEzx7\n9gwODg5o3bo1tLS04OzsXO7dqHPnzsy70bJly9CnTx907dpVIfNMaXbs2IEpU6ZAKBTWTyOwsHyM\n1CQ/Z13+yYrEwiJDLBaTsbExsxwREUEDBgwgU1NTevDgARER5eTkKGyTlpZGIpGo3Prk5GTicDhE\nRLRr1y6aNm0a81vfvn0pKiqKwsLCKsy1XjbPs3y5snMTEbm6utKlS5eIiOj58+dkZmZW43ZgaVhS\nU1OpX79+VFxcTEREU6ZMoT179pCysjKdPHmSiIjmzJlDS5cuJSKi/v37U1BQEBERbd68mXR0dBqm\n4JUQExNDenpCAoj509UVUExMTJ2dUywWk6qqKiUnJxMR0bBhwygoKIi4XC5duHCBSkpK6Ouvv6aW\nLVsSkaz/xMXFERFRZmYmmZqaEhHRtGnTaN++fUREVFRURPn5+RVen71799ZZXSrjxo0bZGFhQVlZ\nWURE9OrVK4Wxw9XVleLj45ntLS0tKTMzk4iIRowYweSwb+zI89Pr6goqzU/P5rCvHeLi4ojL5ZJE\nIqHc3FyysbGhxMREUlVVpbS0NJo+fTrNmzePYmJi6OjRoyQUComo/DPrYyY8PJzU1dXp7du3RERk\nbm5O69evJyIiU1NTevnyJRERjRw5kjgcDs2ZM4ciIyOpX79+zDGmTZtGu3fvrva5c3Nzmf+nTJnC\nnLehefHiBWlptSAg6Z8xPom0tFrQixcvyM/Pj0JDQxu6iB/Mixcv6PTp06SpqV9hPVlYWOqWf+bs\n1Z7rs5oPLE2Oqn7VoXd8+VRVVYVUKmWW5fF979qnJuepSAG+KVOfGgGNifDwcMTHx8PW1hZEhPz8\nfHzyySdQV1dH7969Acjczc+ePQsAiI6OxpEjRwDIRKlKp/NqDNSFUJ6cH3/8Ea1atWKE8n744Qe0\nbt0aN27cgLKyMnx8fPD9999DKBQiPDwct2/fxqpVq3D79m389ttv+O233wDI8tOPGDECwcHBCuVy\ncHDA0qVL8fDhQwwcOBAdO3as9PrUNxERERg8eDAMDAwAQCHv/MaNGxETEwNXV1d8//33mDNnDkaN\nGoWgoCD4+fnhypUr2Lt3b7ljpqen49KlSxg+fHi91eN9vC9Wmc1hX3tcvHgR3t7e0NTUBAAMHDiQ\nCREkIlhbczBp0mSsXLkBQBGWL1/WgKVtGLp3746CggJm+datW8z/9+7dY/4PCgpS2E8u8ghAIUNE\nVcnIyMCyZcvw999/QyqVQigUNho9KHnGEFn/Az62VI7794fA338K1NVNIJUS1NScoKVlVi/Cjf/V\n9yAWltqCDbtgafQ8ePAAV69eBQDs378f3bp1U/hdV1e3wjRWZePzSr94mJiYIDExEUSEhw8fIiYm\nBoBsYnP+/Hkm68OrV68AyFw2S+eRLn3uFi1aVJhCqyw1MWw0Jpq6C+eHQETw9fVFfHw8EhISkJqa\nih9//FFBvLO0gUlJSYkxkjXG616XqQ39/f0Z9XUiwoEDB/DZZ58hNTUV5ubm+PvvvzF79my8ffuW\niU/fuHGjwoThzp07uHnzJhYtWgSRSKQg/jV8+HCEhYVBS0sLffr0QWRkZKXXp74hokpd6Lds2QIe\nj8fkqQcAPz8/7N27F/v378egQYMqFM69f/8+9u3bV6flrgnvcolnc9jXHmXHD/nyZ599hpKSEkyf\nPgdS6TVIpW8hlcZh4cJlyMjIwMKFC/HNN980RJHrhT/++ENhzKgJHxIWJH8e7tgRhbS0J/jhhx+x\nd+9exkhU36xduxYcDgdcLhcbNmyAiooKXr9OBDAYgA0AJxQWihUMuREREU0y9Kts2GBh4Xmoqqrj\n0KHltZpiuCL+y+9BLCy1BWt8YGn0mJubY/PmzbCyskJ2djYmTZpUbpvdu3dj1qxZ4PP5SEpKYiYe\npePzSk8KnJycYGJiAmtra8yYMQMikQgA0KpVK2zfvh3e3t4QCAT48ssvAcgEKY8ePcoITpY+1q5d\nuyo8d1VyRjcVGkojoLHQo0cPHD58mKnvq1ev8ODBg0oNC05OTti/fz+A2hGlqgtqQyivIoyNjdGq\nVSskJSXhzJkzEAqFTIozIkLr1q3h6uqKhw8fQltbG9ra2nj48CEA4MiRI1BSUsKAAQPg4eGB7Oxs\nAMChQ4eY49+/fx+mpqaYNm0a+vfvj+Tk5EqvT33To0cPHDx4EFlZWUw5AODw4cO4d+8erl+/jh07\ndjBit9999x0yMzMxffp0ZGRk4Pz58xAIBBAKhRCJRMjLy8P8+fNx8eJFCIVCbNiwod7rVBMaYw77\nuLg4zJgxo8HOX1OcnZ1x7Ngx5OfnIy8vD8eOHYOzszOICA8ePChn5FFVbY9Tp0599GPzsWPHcOPG\njWrtU1o4+UMmkY3teRgfH4/dv9WmawAAIABJREFUu3cjNjYWly9fxu+//w5lZWUoKytBQ+Nv6Oqq\nQ0XlGvz9RyoYC7t3745bt27h5cuXAICdO3di7NixDVKH6lCZcdPAwKDOPR4a03VnYWmqsGEXLI0e\nVVVV7NmzR2FdaVdKAOByuRWmsRIKhUhMTGSWly9fzvxf1gVTjoeHBzw8PBTWmZmZISkpiVkuLTrJ\n4/EqPLdc8R2Qpb8qW+amxLtcOP8LboeWlpb4+eef4e7uDqlUCnV1dWzatKlSg9L69esxYsQIrFy5\nkkl71xipq9SG48aNw86dO/Hs2TOMHTsWp0+fBoBy3iBKSkoQiUSYNWsWJBIJ2rRpg7Zt2+Kzzz4D\nl8vF1q1b8dtvv6FPnz7MsUNCQhAUFAQ1NTW0bdsW33//PfT19ctdn82bN6N9+/a1Xrd3YWVlhe+/\n/x4uLi5QVVWFQCCAiYkJBg8ejGfPnmHRokWYO3cuSkpKsHr1agCyscHIyAg7d+5E//79sWXLFjg4\nOODt27fQ1NTE8uXLsWbNmiaVKaIx5rAXiUSMkbkpIRAI4OfnB1tbWygpKWH8+PHg8XhQUlJC+/bt\ny4VPvXlzG9OmrcHkyd8gMHBLnX4Fri6rVq2ClpYWpk6dipkzZyI5ORnh4eGIiIjAzp07MXr0aCxc\nuBCFhYXo0KEDdu7ciWbNmmHevHkICwuDmpoa3N3d4e3tjePHj+P8+fNYunQpQkNDQUT46quvkJmZ\niWbNmuG3335Dp06dMGbMGGhqaiIxMRFOTk7Q0dHBnTt3cODAQUilbSGR+AFwqVZYUGN7HlYUmnPh\nwgV06NABFy9ehFgsRlhYWIVeGVUJ/Wps1GXY4LtobNedhaXJUhOhiLr8Ays4yVIKsVjMiEQ2NV68\neEExMTEfhfDRu8SrWCrmY7r+1aWwsJDMzc2pQ4cOJJVK6ciRI+Tp6UklJSX04sULMjExoefPn5cT\nfZP397dv31LXrl0ZYcn30RTaWi58V1rs1s/Pj3r27Ek7duwgIqLly5eTvb09BQQE0KNHj4iIyrVR\nU6I+rkteXh716dOH+Hw+cTgcOnjwIMXGxpKjoyPxeDyyt7en3NxcioyMpL59+zL7jB07luzs7Ego\nFNLx48eJSCZEPHDgQPL09KROnTrRnDlzmPP8+eefJBQKic/nU8+ePd95nLqiovaUC3vq6PAJ0CJg\nRaMdo69cuUJDhw4lIqJu3bqRvb09FRcX0+LFi2nFihXk7OzMiEauWLGCfvrpJ8rKyiJzc3PmGDk5\nOURE5UQTe/ToQf/73/+IiOjq1avUvXt3ZrvS/WfRokXE4/FIV1dAQCYBLQkorpbgbmN7Hq5fv54W\nLlzILC9YsIACAgIU3p1Wr15NixcvJiLFtnvy5AmJRCLaunUrzZ07t17L/SFURfS2tmls152FpaFB\nDQUn2bALlkZN2RzzTYWPLS6wLjUCPkY+tutfXdTU1ODm5oahQ4dCSUkJ3t7eVUphJ0dLSwsnTpzA\n+vXrERYWxqw3NTVlQhrkNOW2/uOPP3Dv3j3G02ru3LkIDAyERCKBk5MT7ty508Al/DDqI4f9X3/9\nhXbt2iEhIQHJycnw8PDAsGHDsHHjRiQmJuLs2bPQ0tIC8K/nzdKlS9GjRw9cvXoVERERjOcNACQl\nJeHQoUNITk5GSEgIHj9+XGEK5vcdp7ap7D6Xh09t3DgDOjodAcz5Z4/Gp7MhEokQFxeH3NxcaGho\nwMHBAbGxsbhw4QK0tLRw8+ZNODk5QSAQYM+ePXjw4AF0dXWhpaWF8ePH4+jRo8y1LE1eXh4uXbqE\nIUOGQCAQYOLEiXj+/Dnz+5AhQxS279u3L4qK0gE8BvAJgHPV+nLe2J6H7wrNeR9t27aFkZERli5d\nCj8/P2Z9eno6OBxOHZb6w6irsMF30diuOwtLU4UNu2BhqWUqU3o3NzeDr68vUlJSavV8bm5uWLNm\nTZ3nnX6fwj2LDFbpH5BKpbhy5QoOHz7MrFuxYgVWrFihsJ2Li4uCQGtpY6Oenh4jNCunbJjL+9pa\nKpVWKOLYEJSdCOzfH4LXr/NQUKCPjh05CAzcAnt7W1hbW8Pa2hqxsbG4desWPv300wrFbllkcDgc\nzJ49G/Pnz0efPn2gr68PIyMjZjxs3rx5uX3OnDmDsLAwrFq1CgBQWFjIaIT06NGD2cfa2hrp6enI\nysqCi4sLE8Yjz2JS2XHMzc1rtY7vu88NDQ3Ru3dvTJ78DerbFb06qKqqwtjYGDt37oSTkxO4XC7O\nnTuHe/fu4fPPP4e7u3uFGjkxMTEIDw/HoUOHsGnTJoSHhyv8LpVKYWBggPj4eHTt2hUXL15U+L1s\nZqwWLVowYUEFBW+hpjYYgYG/Vmt8bkzPw4pCc/T19SsNCyy7fuTIkcjMzISFhcU7t2ts1FXY4Lto\nTNedhaWp0jjeylhYPiIqE0N69OhRo3+Yv4/6+JLZ1PmvK/2npqbCzMwMvXr1QocOHZCeng5LS0uM\nGTMG5ubm8PHxQXh4OLp27Qpzc3Ncu3YNr169gre3N6ytrcHlchEVFQUAyMrKgoeHBzgcDsaPH68w\ngQ8ODoabmxsKCiQAtgIgAFxIJNmYOXMmBAIBLl++DFNTUyZrBo/HazBvgtJ9XyKRwN9/CkpKvPD2\n7WpGuGzZsmXgcDgQCARQV1eHl5cXuFwuox/RVAQn6xMzMzPExcWBw+FgwYIFOHr06HvHWSJCaGgo\nEhISkJCQgPv37zMGA3l6ZABQVlZGcXHxO78gV3ac2qQqY0pT+Srr7OyM1atXw9nZGV27dsW2bdvA\n5/Nhb2+P6OhopKWlAZD1kbt37yIvLw/Z2dnw9PTE2rVrGeNk6QxUOjo6MDU1xeHDhxnDw/s8JuVf\nzk1N2+Hy5XM1+nLemJ6HM2bMQEpKCpKTkzFt2rRyXqPffvutghC3PMtFRkYGQkNDGXHt0hQVFcHH\nxwdWVlYYOnQo8vPzER8fD1dXV9ja2sLLy4vxMElLS0OvXr3A5/PRuXNn3L9/H3l5eejZsyc6d+4M\nHo/H6NaU9apYs2YNlixZAkCW8tTa2hp8Ph8jRowAALx9+xb+/v6wt7eHSCRS8IZrCBrTdWdhaZLU\nJFajLv/Aaj6wNHEqiwuMi4sjCwsLGjlyJFlaWtKQIUPo7du3tGTJErKzsyMOh0MTJ05kjuPq6kpz\n584lOzs7Mjc3p4sXLxIRkUQioS+//JKsrKzI29ubunTpQnFxcQ1VXZYysHGhiojFYlJTU6MbN24Q\nEZFIJCJ/f38iIjp+/DgNGDCApk2bRoMHDyEtrRakrW1GSkoqtG/fAfr666/pp59+IiKikydPkrKy\nMr18+ZJSU1OpX79+9PTp03/aehgBe/9pc1BgYCBzfhMTE9q8eTMREW3ZsoXGjRtXzy1QnpiYGNLT\nE/5zf8j+qhNzzvIvT548ofz8fCIiOnHiBPXu3Zs6dOhAsbGxRET05s0bKi4uVtDO+O6772jq1KnM\nMRISEoiIFPQ4iIj69u1LUVFRlJGRQe3btyexWExERFlZWURE9P3331d4nNqmOmNKY9I/MTExoZcv\nXyqsCw8PJ3V1dUbbwdzcnNavX09EROfOnSNbW1vicrnE4/EoLCyMnj59SnZ2dsTlconL5dLevXuJ\niCg6OpqsrKxIKBTSvXv3SCwWk6enJykrK5O1tTWNHTuWXF1dycTEhNq1a0c+Pj5EJNN8WLNmDVMe\nDodD6enp9dEcjY59+w6QkpIKqag0J01NAwXdBLFYTEpKSnT58mUiIvL396dVq1aRo6MjZWZmEhFR\nSEgIjR07loiI7O3t6Y8//iAiooKCApJIJFRSUkJv3rwhIqLMzEzq2LEjc+zK9CiMjIyosLCQiP7V\n9/juu+8oODiYiIiys7OpU6dOzP3DwsLScKCGmg8NbmwoVyDW+MDyEVCRGFLZh/nYsWNpzZo19OrV\nK2a/UaNG0YkTJ4hIZnyYNWsWERGdOnWKETlbu3YtM3lLTk4mVVVV1vjQyGgIMazGilgspk6dOjHL\no0ePZoQk7927R3w+n7hcLmlo6JWaXLUlTU0DsrGxofv37zP7tmzZkl6+fEmbNm2idu3akUAgIGNj\nE1JSUiYNjbakpdWCVFRUSCqVMvuYmJjQkydPiEgmRNerV6/6qfg7qOpksjFNJBsrp0+fJi6XS3w+\nn+zs7CguLo6uXbtGXbp0IR6PRw4ODpSXl6dgfJBIJDRx4kTicDhkY2PDrC9rfOjXrx9FRUUREdFf\nf/1FAoGA+Hw+ubu7lzsOh8OpU2HQpjamlJSUMCKr9YmOjg4RyYRa9fX16cmTJySVSsnBwYGio6Mb\npE+JxWKysbGpt/NVhfeNQWKxmIyNjZntIyIiqGfPnqSnp8f0Ay6XS56envTmzRv69NNPy52jqKiI\npk6dyvTPZs2a0fPnz99pfPDy8qLBgwdTUFAQ5ebmEhFR586dicPhEJ/PJz6fTyYmJnTr1q06bB0W\nFpaqUFPjA6v5wMJSB1QUF5ieno727dujS5cuAAAfHx8EBATAxMQEK1euxNu3b/Hq1SvY2NgwqQXl\nrpEikQjp6ekAgPPnz2P69OkAZPHOPB6vAWrI8i7YuFBFyrqyy5flbu1FRUVQV/8UBQVyt3I1qKkZ\norAwX8GFnv5xfyci+Pr6YunSpQBkrsPytu7QoUM5t3v5+VRUVFBcXFxX1awyVUlFuX9/CPz9p0Bd\nXZZWrrGlTaxvcnJysG/fPkyePBlPnz7F9OnTcfDgQbi7u8Pd3b3c9mXTH5fWF9HU1MS2bdvK7ePr\n6wtfX19muXR604pSMFd2nLqgPseU96XE7NOnD3755RcAQO/evZkU1jo6Opg4cSLCw8OxadMm5ngS\niQQDBw7E4MGD4e/vX2flLoudnR3atm0LAODz+di3bz927NjXIH2qsYVcViVtZNky6+jowNraGtHR\n0Qrr37x5U2H9goODkZmZiYSEBCgrK8PU1BT5+flQVVVFSUkJs11+fj7z/8mTJ3H+/Hn8n73zjori\nasP4QweliAqWoBRR6jaa0paiosZesCsCajSB2HvUYEk0lqBGNEaCHXuPGiNIs9AEUbEjYGwgICIg\n9f3+2G8nuzSVUM38ztlztszcuXd22n3vfZ/n9OnTWL16NW7dusWkSXXt2rWOWs/CwtKYsJoPLCz1\nRFV5gRVv0DIyMvjmm29w/PhxJCUlYfLkyVI34uo6TVV1yFiaFmxe6D986Bh1cnJCYWEKRGJ5YQBa\norT0bzg5OWHfvn0AgPPnz+PNmzcARKKAR48eRWZmJgCRkF379u2hpaXVbM4Hcc75rFmDoK/fHj/9\ntAYeHh5IT0+HUCjEuHHjUFjYDbm5p1BYeBkTJkyEp6cnbG1tYWhoiIiICHh7e8PU1BReXl5MuWpq\napg9ezbMzc3Ru3dvZGVlAQB27twJGxsbCAQCuLu7M9cZT09PzJgxA/b29jA0NMTx48cBABMnTpTK\nrR4/fjzOnj3bgHtImpycHAQEBAAQKfQfPny40eoiJjMzE7GxscxxWN801DVFKBQiMjISABAfH4/8\n/HyUlZUhKioKXbt2xcKFCxEWFobExETExsYyQZr8/HzY2toiISEB9vb2AEQd00GDBmH8+PGfHHjI\nzc3Ftm3balymJlcGyaBncXExduwIQmHhZeTmxjM6Kw3131XUTzh37hwzuAAAly5dwvDhwxukLgCg\npycKwIiuuUBVAqVpaWmM6G9wcDBsbW2RmZmJ69evAwBKS0uRnJwMNTU16Ojo4NSpUwBE+7qwsBC5\nubnQ1taGrKwsLl++zAygtGvXDpmZmcjJyUFRUZHUdSU9PR1OTk5Ys2YN3r59i/z8fPTp0webN29m\nlklMTKy3/cLCwlL/sMEHFpYGpOLN3NHREQDQpk0bvHv3TsodoDqEQiHTIbt9+3aztCJl+W8hGSyr\nKgC3du1a8HhmkJGxgJzcACgpPUNgYADWrFmDiIgIcDgcnDx5knEbMDExwapVq+Dm5gYejwc3Nze8\nePGi2vKbKpmZmTh06BCioqKQkJAAf39/+Pj4oFevXlBX5wGYCsAXABeysqp4/vw5rl27ho0bN2Lg\nwIGYM2cOkpOTkZSUxFwH8vPzYWNjg9u3b0MoFOL7778HAAwfPhwxMTFISEiAsbExAgMDmXq8fPkS\nV65cwZkzZ7BgwQIAwOTJk/H7778DAN6+fYtr167hyy+/bMC9I82iRYuQkpICCwsLjBw5kulw7t69\nG0OHDoWbmxsMDAywdetW/Pzzz7CwsICdnR0TsEpJSUG/fv1gbW0NJycnRnj0yJEjjMins7PzR9en\nOVu8foiaLDE1NTXh7OyM1q1bQ1ZWFuPGjUNERAQAUZBcskNNRBgyZAi8vLwwbty4T66HZMCpJj4m\nGP/27VvIy7dFYwkB379/Hz4+PkhOToa6ujqSk5Nx7949JjgYFBQkFUSsbz5GoNTY2Bhbt26Fqakp\ncnJy4Ovri6NHj2LBggXg8/mMqC8A7NmzB5s3bwaPx4O9vT1evXqFcePGITY2FjweD/v27YOJiQkA\nUbB42bJlsLa2hpubG/N9aWkpxo8fDx6PB0tLS8yYMQPq6upYunQpSkpKwOVyweVyGeFMFhaWZkpt\ncjXq8wVW84HlMyU1NZVMTExowoQJjOBkYWEhfffdd9SlSxdycHAgLy8vJvfRxcWF0XJ4/fo16evr\nE5G04OTw4cNZwUmWz4b/msbBli1b6LvvvpP6rm3bthJCmvEEaBFwk+TkFGn79u1EJNLKqKijIRZ7\nk5OTo7KyMmY5gUBARKIceEdHR+JwOGRgYEDTp08nIqJJkyYxGhxEROrq6sx7DodDmZmZtH37dpo3\nb1497IGPRzJPXPL9rl27qGvXrpSfn0+ZmZmkoaFBO3bsICKiWbNm0aZNm4iIqGfPnvTo0SMiEml/\nuLq6EpGojWJNELHA3Yf4L4jKurq60ubNm2n58uV07Ngx+uGHH8jAwIBOnjxJEydOZJYLDAykOXPm\nENE/egti9PT06JtvvqEJEybUqg6jR48mFRUVEggENHv2bOrZsydZWloSl8tljnfJY+Hx48ckKytL\ncXFxFBoaSl26dCEbGxvi8Xjk4OBACgotG+U/q0o/YciQIfTDDz/Qzz//TG/evCEDAwPmvG1I/mvX\nXBYWlroDrOYDC0vTRldXF8nJyZW+X7lyJVauXFnp+9DQUOZ9mzZtkJKSAkCUZxwcHFx/FWVhaSTq\n2rddUguiKaa/EFGVMzXEo5JeXr1QVJQHZWUXWFvbMm2Q1M0Qf65Oy0JcvqenJ06fPg1zc3Ps3r2b\nsTMFpKenk8TI8YQJE7Bv3z4cPHgQQUFB/77B9YSLiwtatGiBFi1aoFWrVhgwYAAAkSbOrVu3kJ+f\nj6tXr8Ld3Z1pX0lJCQDA3t4eHh4eGDlypNSofU2sXbsWRUUFANYB2IuK+fK7d+9GfHw8Nm/eDD8/\nPyYVprb8+uuvaNmyJcaPH//J6546dQpGRkYwNjYGACxfvhxOTk5wdXWtcT2xJWZQUBDMzc0xa9Ys\nvH79Gt26dUNERASys7OhoaGB4OBgRoNI8tgRs2LFCqxYsQJff/31R81ikGTNmjW4c+cObty4gfLy\nchQUFEBVVRVZWVno0aMHBg0axCz74MEDjB49GomJieBwONi4cSPc3Nzg5+cHDQ0N2NvbY/36NVi4\nsHqdlfqk4nkuKysLT09PDBgwAMrKynB3d4esbMNPRq7ra2590NSv4ywsLJ8Gm3bBwtLMaOg8YxaW\n5khzmBbfs2dPHD58GNnZ2QCA7Oxs2NnZITg4GGPGjMJPP/nB2dkRaWn3YGCgL7VuVR09ACgvL2fS\nt/bv38+kdr179w7t27dHSUkJ9u/fX22dJMv18PCAv78/ZGRkmKnR9YmLiwtu3LjxyetJBk9kZGQq\nCZqWl5dDU1MTN27cQEJCAhISEnD79m0AwLZt27B69Wo8ffoUlpaWyMnJ+eD2Tp8+DUVFZQDz/v9N\n5Xz5uuSrr76qVeChrKwMJ0+exJ07d5jv/Pz8Phh4AABHR0e8fPkStra20NbWhoqKClRUVNCuXTv8\n+OOPcHZ2hkAggKWlJRPsqS7Fyd/fH0VFRVi4cOEnt0FMeXk5Fi1aBB6Ph169euH58+fIyMgAAGRk\nZGDIkCHYv38/OBwOgoMPYd68hfj119/Rrl0HdOtmhOzsbJiaGiMt7R4uXfoVaWn3GlTAtWLKpYOD\nA9q3b4+OHTti9erVmDRpUoPVpTnRHK7jLCwsnwYbfGBhaUawN2IWlg+TmZkJb++vG01c7mMxNTXF\nkiVL4OTkBIFAgLlz52Lz5s0ICgoCn8/H6dOnsWfPHmhpadWoZSH5vmXLloiJiQGHw0FYWBiWLl0K\nQDTDysbGBo6OjlKBhJrK1dbWhomJCTw9Peu03bVBTU0NeXl5AKoOvEiq51e1rr6+vpSmjlgjIyUl\nBdbW1vDz84O2tjaePn1aYz2mT5+OtLQ0aGurQ16+B+TlW0FGxgI6Om3w6tWrGtdNTEyEra0t+Hw+\nhg8fjtzcXGRmZsLKygoAcPPmTcjKyuLvv/8GABgaGuL+/fvQ0tKCpaUlTE1Noa2tjTlz5kBHRwcq\nKiowNDTEtGnTUFhYiFGjRqFly5YwNDSEqqoqZsyYgdOnT2P+/PmwsLDAkydP4OnpyYiKxsbGwt7e\nHnw+Hz169EB+fj52794NX19fuLq6oqioCCNHjkRERATu3bsHNTU1AMDo0aPRpUsXKCkp4Y8//sDO\nnTsBiHQV1NTUMHfuXAgEAuzfvx+tW7cGAAQGBjKuGLVB0jkhISEB2trajGiqhoYGOnXqhKioKObc\nLy93Qnn5GRDdQEbGW1y/fh29evVqNCHgivoJ06dPBwCMGzcOnTp1YmamVEV1gcbPneZyHf8ccHBw\naOwqsPyXqE2uRn2+wGo+sLBUyeeQZzxp0iQ6duxYnZcbFhZGAwYMqPNyWZonMTExpKFh8f/zRPRS\nVxdQTExMY1et3lFVVa2zsvLz88nQ0JDevn1LqampZGxsTJMmTaJu3brRuHHj6NKlS2Rvb0/dunWj\n2NhYys/PJy8vL7KxsSELCws6ffo0EYl0GYYMGUK9e/cmfX19+uWXX2jjxo0kEAjI1taWcnJyiIjI\n2dmZZsyYQXw+nzgcDvN/ictt06YNKSsrk729PXG5XNq1axfx+XzS0dEhZ2dnevHiBSkrKxOHwyEO\nh0NLliwhX19fIiJ68uQJ9e3bl3g8HpmZmdHKlSuJiGjYsGHM8rNmzfqo/aKvr09ZWVk0efJk+uqr\nrygjI4NCQ0OJz+cz7RVv9/vvv6cNGzYQERGXy6XIyEgiIlq2bBmzPXNzc8rLy6NffvmFbGxs6MCB\nA5SWlkZ2dnaUmppKAOjbb78lIqL27duTs7Mz5eTk0Llz56hXr140YcIE8vLyomnTppGzszONGTOG\nFBQUKD4+vtI1V/y5uLiYDAwMGL2gvLw8Ki0tlao7EdGAAQMoPDyciEQaDllZWUREzH9WWFhI5ubm\nlJ2dTUREMjIydPToUSL693oCWVlZpKenR0REmzZtYvZBaGgoycjIUFpaGqP5UFBQQA4ODrRy5cr/\nn/s7CBhCQAmpqwvo6NGjVFBQUKt61Cc+Pj40atQoMjc3Jw6HQ/7+/pSamkpGRkY0ceJEMjc3p/T0\n9MauZqPwX76ONxSNoTPC8vmAWmo+sDMfWFiaCWJf7sZS624KlJeXV/tbU3Y1YGlYPsZG7nOlrs6D\n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\nD6r5ICIiUg3y8vLw8wvlf4UmI1RoUkREROoMhQ8iIiLVIDQ0lOPH8/hfockcFZoUERGROkPhg4iI\nSDUIDg5m0aJ5BATYCAyMISDAxqJF8zTlQkREROoE1XwQERGpRg6Hg7y8PEJDQxU8iIiISI1zsTUf\nFD6IiIiIiIiIyAVRwUkRERERERER8UoKH0RERERERETErRQ+iIiIiIiIiIhbKXwQEREREREREbdS\n+CAiIiIiIiIibqXwQURERERERETcSuGDiIiIiIiIiLiVwgcRERERERERcSuFDyIiIiIiIiLiVgof\nRERERERERMStFD6IiIiIiIiIiFspfBARERERERERt1L4ICIiIiIiIiJupfBBRERERERERNxK4YOI\niIiIiIiIuJXCBxERERERERFxK4UPIiIiIiIiIuJWCh9ERERERERExK0UPoiIiIiIiIiIWyl8EBER\nERERERG3UvggIiIiIiIiIm6l8EFERERERERE3Erhg4iIiIiIiIi4lcIHEREREREREXErhQ8iIiIi\nIiIi4lYKH0RERERERETErRQ+iIiIiIiIiIhbKXwQEREREREREbdS+CAiIiIiIiIibqXwQURERERE\nRETcSuGDiIiIiIiIiLiVwgcRERERERERcSuFDyIiIiIiIiLiVgofRERERERERMStFD6IiIiIiIiI\niFspfBARERERERERt1L4ICIiIiIiIiJupfBBRERERERERNxK4YOIiIiIiIiIuJXCBxERERERERFx\nK4UPIiIiIiIiIuJWCh9ERERERERExK0UPoiIiIiIiIiIWyl8EBERERERERG3UvggIiIiIiIiIm6l\n8EFERERERERE3Erhg4iIiIiIiIi4lcIHEREREREREXErhQ8iIiIiIiIi4la/OnwwxvgZY143xuQZ\nY/KNMRnGmBtP26ePMWaXMabQGJNsjLny176viIiIiIiIiNQMVTHyoR6wH+hpWVZjYAbwTnnAYIxp\nBrwHPAk0BTKA5VXwviLVbsOGDZ5ugkil1DfFm6l/irdS3xRvpb4ptdGvDh8syzpqWdbTlmV9W/b4\nQ+AbILZsl6HAl5ZlrbQs6zgwE4g0xlz7a99bpLrpHwLxVuqb4s3UP8VbqW+Kt1LflNqoyms+GGMu\nA64Fvizb1B7ILn/esqyjwL6y7SIiIiIiIiJSy1Vp+GCMqQcsBRIty9pbtrkhkH/arvlAo6p8bxER\nERERERHxTsayrHPvYEwK0AuobMfNlmXFl+1ngCRKw4abLcs6Ubb9RaCeZVmTTjlmDvCUZVmrKnm/\nczdIRERERERERDzGsizzS19T7wIOarvAYy0CmgO/Kw8eynwFjCl/YIxpAFxVtr2y9/vFJyEiIiIi\nIiIi3qtKpl0YYxYAYcDgsqKSp1oFtDfGDDHG+FO6Gka2ZVlfV8V7i4iIiIiIiIh3O++0i/MeoHRJ\nzTygCCgf8WAB91qWlVS2T2/gVeBKYCtwp2VZ+3/VG4uIiIiIiIhIjfCrwwcRERERERERkXOp8qU2\nL4Yxxs8Y87oxJs8Yk2+MyTDG3HjaPn2MMbuMMYXGmOSyERcibmeMuc8Yk2aMKTLGvFHJ8+qb4jHG\nmCbGmFVl/e8bY8wIT7dJ6qZzfVbqc1I86XzXmeqf4mnGmCXGmO/L+uduY0zCKc+pf4rHGWOuMcY4\njTFvnbJtZNnn6mFjzEpjTND5juMV4QOlhS/3Az0ty2pMaV2Id8r/chljmgHvAU8CTYEMYLmH2ip1\nz/8BsyktqlqB+qZ4gXmUTnsLBkYB840x7TzbJKmjKv2s1OekeIGzXmeqf4qXeBYIKeufg4E/GWOi\n1T/Fi7wCbCt/YIxpDywAbgcuA5zA/PMdxGunXRhjsoGZlmWtMsbcDYyxLKtH2XOXAv8BolS4UqqL\nMWY20NKyrLtO2aa+KR5T1t8OAuGWZe0r2/YW8J1lWU94tHFSZ53+WanPSfFG5deZlK7Upv4pXsMY\n0xZIAR4AmqD+KR5mjPkDcAuwE7jasqw7jDHPUBqYjSrbpw2wC2hqWdaRsx3LW0Y+VGCMuQy4Fviy\nbFN7ILv8ecuyjgL7yraLeJL6pnjStUBJefBQJhv1P/Eu+pwUr1J2nXkNpcu+q3+KVzDGvGqMOULp\nF7jvgbWof4qHGWMCgVnAo4A55anT+2YucJzSa9Oz8rrwwRhTD1gKJFqWtbdsc0Mg/7Rd84FG1dk2\nkUqob4onqf9JTaB+Kl7jlOvMN8vuHKt/ilewLOs+SvtjD2AlpV/k1D/F054G/mFZ1v+dtv2i+ma1\nhA/GmBRjzEljzIlK/vvslP0Mpf8gHAPuP+UQhUDgaYcNBA67vfFSq11o3zwH9U3xJPU/qQnUT8Ur\nnOU6U/1TvIZVagvQCpiA+qd4kDEmCugLvFjJ0xfVN+tVTdPOzbIs2wXuuojSuXe/syzrxCnbvwLG\nlD8wxjQArirbLnLRfkHfPBv1TfGkr4F6xpirTpl6EYn6n3gXfU6Kt6jsOlP9U7xRPaANpVPQ7yzf\nqP4p1awXEALsLwtvGwI+xphw4CMgqnzHspoPfpRem56V10y7MMYsAMKAwZZlHT/t6VVAe2PMEGOM\nP6VVirNVaEWqgzHG1xhzCeBL6Rc9f2OMb9nT6pviMWVzP1cCTxtjLjXGXEdplewlnm2Z1EXn+KzU\n56R43DmuM9U/xaOMMcHGmOHGmAbGGB9jzA3AH4BkYDXqn+I5CykNu6Iovbm1APgQ6A+8DQw0xlxX\nForNAt47V7FJ8JLwoWxJzXsoPbGfytYKLTBl69VblvUfYBily9AcAOIo/UspUh3+CBwFplK6nMxR\nSpc8Ut8Ub3AfcCnwM7AMGG9Z1i7PNknqqEo/K/U5KZ52rutM9U/xAhalUyy+pbQPPgc8aFnWGvVP\n8STLsoosy/q5/D9Kp1oUWZZ1wLKsncB4SkOIH4EGlF6TnpPXLrUpIiIiIiIiIrWDV4x8EBERERER\nEZHaS+GDiIiIiIiIiLiVwgcRERERERERcSuFDyIiIiIiIiLiVgofRERERERERMStFD6IiIiIiIiI\niFspfBARERERERERt1L4ICIiIiIiIiJupfBBRERERERERNzq/wNhj0FFQ5359wAAAABJRU5ErkJg\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f2c8122dfd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.manifold import TSNE\n",
    "\n",
    "tsne = TSNE(perplexity=30, n_components=2, init='pca', n_iter=5000)\n",
    "plot_only = 500\n",
    "low_dim_embs = tsne.fit_transform(final_embeddings[:plot_only,:])\n",
    "labels = [vocabulary[i] for i in range(plot_only)]\n",
    "plot_with_labels(low_dim_embs, labels)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Machine Translation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "The `basic_rnn_seq2seq()` function creates a simple Encoder/Decoder model: it first runs an RNN to encode `encoder_inputs` into a state vector, then runs a decoder initialized with the last encoder state on `decoder_inputs`. Encoder and decoder use the same RNN cell type but they don't share parameters."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "tf.reset_default_graph()\n",
    "\n",
    "n_steps = 50\n",
    "n_neurons = 200\n",
    "n_layers = 3\n",
    "num_encoder_symbols = 20000\n",
    "num_decoder_symbols = 20000\n",
    "embedding_size = 150\n",
    "learning_rate = 0.01\n",
    "\n",
    "X = tf.placeholder(tf.int32, [None, n_steps]) # English sentences\n",
    "Y = tf.placeholder(tf.int32, [None, n_steps]) # French translations\n",
    "W = tf.placeholder(tf.float32, [None, n_steps - 1, 1])\n",
    "Y_input = Y[:, :-1]\n",
    "Y_target = Y[:, 1:]\n",
    "\n",
    "encoder_inputs = tf.unstack(tf.transpose(X)) # list of 1D tensors\n",
    "decoder_inputs = tf.unstack(tf.transpose(Y_input)) # list of 1D tensors\n",
    "\n",
    "lstm_cell = tf.contrib.rnn.BasicLSTMCell(num_units=n_neurons)\n",
    "cell = tf.contrib.rnn.MultiRNNCell([lstm_cell] * n_layers)\n",
    "\n",
    "output_seqs, states = tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq(\n",
    "    encoder_inputs,\n",
    "    decoder_inputs,\n",
    "    cell,\n",
    "    num_encoder_symbols,\n",
    "    num_decoder_symbols,\n",
    "    embedding_size)\n",
    "\n",
    "logits = tf.transpose(tf.unstack(output_seqs), perm=[1, 0, 2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "logits_flat = tf.reshape(logits, [-1, num_decoder_symbols])\n",
    "Y_target_flat = tf.reshape(Y_target, [-1])\n",
    "W_flat = tf.reshape(W, [-1])\n",
    "xentropy = W_flat * tf.nn.sparse_softmax_cross_entropy_with_logits(labels=Y_target_flat, logits=logits_flat)\n",
    "loss = tf.reduce_mean(xentropy)\n",
    "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n",
    "training_op = optimizer.minimize(loss)\n",
    "\n",
    "init = tf.global_variables_initializer()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Exercise solutions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "**Coming soon**"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.3"
  },
  "nav_menu": {},
  "toc": {
   "navigate_menu": true,
   "number_sections": true,
   "sideBar": true,
   "threshold": 6,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
